diff --git a/build.gradle.kts b/build.gradle.kts index 1191453a7..be167cf13 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,7 +2,7 @@ plugins { java `maven-publish` id("com.github.johnrengelman.shadow") version "7.1.2" apply false - id("io.papermc.paperweight.patcher") version "1.3.8" + id("io.papermc.paperweight.patcher") version "1.3.9" } val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" @@ -47,7 +47,7 @@ repositories { } dependencies { - remapper("net.fabricmc:tiny-remapper:0.8.2:fat") + remapper("net.fabricmc:tiny-remapper:0.8.6:fat") decompiler("net.minecraftforge:forgeflower:1.5.605.7") paperclip("io.papermc:paperclip:3.0.2") } diff --git a/gradle.properties b/gradle.properties index fe3f8ba84..f34c28045 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19.2-R0.1-SNAPSHOT -paperCommit = b3b04f2ca109979cd9aebd8e7859decbeeba10d4 +paperCommit = 4a9c9b3fb0bad179c338b086756385f06858f973 org.gradle.caching = true org.gradle.parallel = true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 41d9927a4..249e5832f 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aa991fcea..ae04661ee 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 1b6c78733..a69d9cb6c 100755 --- a/gradlew +++ b/gradlew @@ -205,6 +205,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/gradlew.bat b/gradlew.bat index ac1b06f93..53a6b238d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +75,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index ea123fb63..06ef197d6 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -20,10 +20,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index 44e0f265432487fe5c3c00c5245041298ade16a0..e775602d55dc6eade0f90a96b5d84595bb9dfdb8 100644 +index b0e4f11e8af4b909a56bb5576d05ef0537fb25f7..9d4fc7b32e4b3f232748b7f6808c33f989649f5c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -9,8 +9,12 @@ plugins { +@@ -7,8 +7,12 @@ plugins { } dependencies { @@ -38,7 +38,7 @@ index 44e0f265432487fe5c3c00c5245041298ade16a0..e775602d55dc6eade0f90a96b5d84595 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -44,6 +48,13 @@ dependencies { +@@ -42,6 +46,13 @@ dependencies { runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") @@ -52,7 +52,7 @@ index 44e0f265432487fe5c3c00c5245041298ade16a0..e775602d55dc6eade0f90a96b5d84595 testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("junit:junit:4.13.2") testImplementation("org.hamcrest:hamcrest-library:1.3") -@@ -52,6 +63,14 @@ dependencies { +@@ -50,6 +61,14 @@ dependencies { } val craftbukkitPackageVersion = "1_19_R1" // Paper @@ -67,7 +67,7 @@ index 44e0f265432487fe5c3c00c5245041298ade16a0..e775602d55dc6eade0f90a96b5d84595 tasks.jar { archiveClassifier.set("dev") -@@ -64,7 +83,7 @@ tasks.jar { +@@ -62,7 +81,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -1881,7 +1881,7 @@ index 540bc9500c35c0db719b00aa26f6fb3a1b08ed9f..806cb760822a99316b08ad95ff8922df int LARGE_MAX_STACK_SIZE = 64; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f2908cf61ff28bef44fcf46b15cf585e942fd7ce..23ef9124bada519ab5ea3869b97d96679ad8f689 100644 +index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb14852cbb8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1966,7 +1966,7 @@ index f2908cf61ff28bef44fcf46b15cf585e942fd7ce..23ef9124bada519ab5ea3869b97d9667 this.level.getProfiler().push("entityBaseTick"); if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; -@@ -4015,16 +4048,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4019,16 +4052,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -1992,7 +1992,7 @@ index f2908cf61ff28bef44fcf46b15cf585e942fd7ce..23ef9124bada519ab5ea3869b97d9667 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4032,14 +4067,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4036,14 +4071,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -2060,7 +2060,7 @@ index f2908cf61ff28bef44fcf46b15cf585e942fd7ce..23ef9124bada519ab5ea3869b97d9667 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4061,9 +4143,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4065,9 +4147,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch index 068b1f37e..dd85cf109 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index 692789a473665c1fc7be56b8913cd208ae27d2e5..4e4bc7e55a81dc44d7f6cfc6a8761141d0d3bb6c 100644 +index 9d4fc7b32e4b3f232748b7f6808c33f989649f5c..8ffc0d92ea29b95e5406ed81088ecf00e7679a97 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -9,7 +9,7 @@ plugins { +@@ -7,7 +7,7 @@ plugins { } dependencies { @@ -17,7 +17,7 @@ index 692789a473665c1fc7be56b8913cd208ae27d2e5..4e4bc7e55a81dc44d7f6cfc6a8761141 // Pufferfish start implementation("io.papermc.paper:paper-mojangapi:1.19.2-R0.1-SNAPSHOT") { exclude("io.papermc.paper", "paper-api") -@@ -44,6 +44,9 @@ dependencies { +@@ -42,6 +42,9 @@ dependencies { runtimeOnly("mysql:mysql-connector-java:8.0.29") runtimeOnly("com.lmax:disruptor:3.4.4") // Paper @@ -27,7 +27,7 @@ index 692789a473665c1fc7be56b8913cd208ae27d2e5..4e4bc7e55a81dc44d7f6cfc6a8761141 runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.5") runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") -@@ -83,7 +86,7 @@ tasks.jar { +@@ -81,7 +84,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -36,7 +36,7 @@ index 692789a473665c1fc7be56b8913cd208ae27d2e5..4e4bc7e55a81dc44d7f6cfc6a8761141 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -182,7 +185,7 @@ fun TaskContainer.registerRunTask( +@@ -153,7 +156,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -168,7 +168,7 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438 stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append("\n\n"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index af9da39dffda01325af2ab3dd8b5e1efb18e013a..957587f5c3f9c26794c80146b4deb282af3469e8 100644 +index 409a544a8cefcfd139bff9b5016fb7a587568a70..0eb4a5b18dcaccd37c2b2c71dbc000aeba559a1a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -298,7 +298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 29974e78e864d19681a2eb4b35dad2063465acd4..ce844dfc6f01f3aa6463054174a41f6f3161ad7a 100644 +index b0a3d8f7b1b1ad02e11eede0dd4dd88c75ea93ca..cb51ff789d0de27a3cb81ccb863897e427475cd1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4634,5 +4634,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4638,5 +4638,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean canSaveToDisk() { return true; } diff --git a/patches/server/0288-Remove-Mojang-Profiler.patch b/patches/server/0288-Remove-Mojang-Profiler.patch index 27ea3fdf1..2414789e1 100644 --- a/patches/server/0288-Remove-Mojang-Profiler.patch +++ b/patches/server/0288-Remove-Mojang-Profiler.patch @@ -1013,7 +1013,7 @@ index 5725c6593480fada65facc29664a00a8cc073512..ccb1f998ae3122d1856d77149ff7e7df }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cd97d28e85a6795099ec314e9574aa413ff93156..30cbbdd312d7cc34db7b281524adb5aa7563746b 100644 +index 6019072c354220fb07e14e746d925956e1ed37f0..d266d35e3c975a843c3f4f6d6857249280dd2811 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -821,7 +821,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1099,7 +1099,7 @@ index cd97d28e85a6795099ec314e9574aa413ff93156..30cbbdd312d7cc34db7b281524adb5aa } this.isInsidePortal = false; -@@ -3388,14 +3388,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3392,14 +3392,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level instanceof ServerLevel && !this.isRemoved()) { @@ -1116,7 +1116,7 @@ index cd97d28e85a6795099ec314e9574aa413ff93156..30cbbdd312d7cc34db7b281524adb5aa PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -3429,7 +3429,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3433,7 +3433,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1125,7 +1125,7 @@ index cd97d28e85a6795099ec314e9574aa413ff93156..30cbbdd312d7cc34db7b281524adb5aa // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3452,10 +3452,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3456,10 +3456,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions();