diff --git a/build.gradle.kts b/build.gradle.kts index e51e622..007cfd4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ import io.papermc.paperweight.util.constants.PAPERCLIP_CONFIG plugins { java `maven-publish` - id("io.papermc.paperweight.patcher") version "1.7.4" + id("io.papermc.paperweight.patcher") version "1.7.5" } val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" diff --git a/gradle.properties b/gradle.properties index 122f078..b4f85a1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = space.bxteam.divinemc mcVersion = 1.21.3 version = 1.21.3-R0.1-SNAPSHOT -purpurRef = 55d4309e5c7f0f83358d1fffdc8e21566c261747 +purpurRef = 2b6f273aa7baba35291f62aec2f745d7fcdaf5c9 org.gradle.caching = true org.gradle.parallel = true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e644113..a4b76b9 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 a441313..df97d72 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index b740cf1..f5feea6 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 7101f8e..9b42019 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/patches/server/0001-Divine-Branding.patch b/patches/server/0001-Divine-Branding.patch index a1de430..fa852e3 100644 --- a/patches/server/0001-Divine-Branding.patch +++ b/patches/server/0001-Divine-Branding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Divine Branding diff --git a/build.gradle.kts b/build.gradle.kts -index b4579fb919d8cc981edc4863b82abca531349f1e..9155c953c1a08ff6027838b4e53b0e8fc84cd821 100644 +index c673a2cf682378aac38d047b999d8a1731f7569d..41dd8c9e0382b4109a32ad55f68ba391a87a346b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { @@ -15,9 +15,9 @@ index b4579fb919d8cc981edc4863b82abca531349f1e..9155c953c1a08ff6027838b4e53b0e8f - implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur + implementation(project(":divinemc-api")) // DivineMC // Paper start - implementation("org.jline:jline-terminal-jansi:3.21.0") - implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -102,14 +102,14 @@ tasks.jar { + implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ + implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 +@@ -103,14 +103,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -37,7 +37,7 @@ index b4579fb919d8cc981edc4863b82abca531349f1e..9155c953c1a08ff6027838b4e53b0e8f "Build-Number" to (build ?: ""), "Build-Time" to Instant.now().toString(), "Git-Branch" to gitBranch, // Paper -@@ -254,3 +254,12 @@ tasks.registerRunTask("runReobfPaperclip") { +@@ -255,3 +255,12 @@ tasks.registerRunTask("runReobfPaperclip") { classpath(rootProject.tasks.named("createReobfPaperclipJar").flatMap { it.outputZip }) mainClass.set(null as String?) } diff --git a/patches/server/0002-Divine-Configuration.patch b/patches/server/0002-Divine-Configuration.patch index e714382..5598726 100644 --- a/patches/server/0002-Divine-Configuration.patch +++ b/patches/server/0002-Divine-Configuration.patch @@ -34,7 +34,7 @@ index e9ad8e2ac267c46df80e884308df8bb12d0deeff..1f5f592fee897afaad76d779c224aa29 this.setFlightAllowed(dedicatedserverproperties.allowFlight); this.setMotd(dedicatedserverproperties.motd); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index c2aff2f03451b97f1ec6bd4ee987bb729177320a..9fd40654eeacf9c5a8fe136e2b58b8a86768588b 100644 +index eb52b1eea31a390c5f17a6c6b6e8bc6217d50189..7f09bcb70b8840acce057ef6eef90dfb41d46e70 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -85,6 +85,7 @@ import net.minecraft.world.phys.AABB; @@ -62,7 +62,7 @@ index c2aff2f03451b97f1ec6bd4ee987bb729177320a..9fd40654eeacf9c5a8fe136e2b58b8a8 this.generator = gen; this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 51770b116695c9d60d43785ae56e249672227025..dd04b709827293d01b22e2c75022e3f49e317453 100644 +index 81922bf93f8a96e6cf05944ca98a82cc5945a6c6..825066dbd54ef753cdc03cbbe9deb65438759449 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -268,6 +268,8 @@ import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -74,7 +74,7 @@ index 51770b116695c9d60d43785ae56e249672227025..dd04b709827293d01b22e2c75022e3f4 public final class CraftServer implements Server { private final String serverName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); // Paper private final String serverVersion; -@@ -1089,6 +1091,7 @@ public final class CraftServer implements Server { +@@ -1101,6 +1103,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur @@ -82,7 +82,7 @@ index 51770b116695c9d60d43785ae56e249672227025..dd04b709827293d01b22e2c75022e3f4 for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -1105,6 +1108,7 @@ public final class CraftServer implements Server { +@@ -1117,6 +1120,7 @@ public final class CraftServer implements Server { } world.spigotConfig.init(); // Spigot world.purpurConfig.init(); // Purpur @@ -90,7 +90,7 @@ index 51770b116695c9d60d43785ae56e249672227025..dd04b709827293d01b22e2c75022e3f4 } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -1123,6 +1127,7 @@ public final class CraftServer implements Server { +@@ -1135,6 +1139,7 @@ public final class CraftServer implements Server { io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper this.spark.registerCommandBeforePlugins(this); // Paper - spark org.purpurmc.purpur.PurpurConfig.registerCommands(); // Purpur @@ -98,7 +98,7 @@ index 51770b116695c9d60d43785ae56e249672227025..dd04b709827293d01b22e2c75022e3f4 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -3100,6 +3105,13 @@ public final class CraftServer implements Server { +@@ -3112,6 +3117,13 @@ public final class CraftServer implements Server { } // Purpur end @@ -113,7 +113,7 @@ index 51770b116695c9d60d43785ae56e249672227025..dd04b709827293d01b22e2c75022e3f4 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 316c5e1460ccf3386c4c8623eabb7f087df8c4b9..5823144e8a987c401126a4a0750e91fa6e83ba1a 100644 +index 5bce26e9671aab15ac4bac9a0d00b5184bef74ea..55a522209ff34f166295fe6b7c218cebecf5e940 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -184,6 +184,14 @@ public class Main { diff --git a/patches/server/0003-Optimize-default-values-for-configs.patch b/patches/server/0003-Optimize-default-values-for-configs.patch index ad47a31..05026d1 100644 --- a/patches/server/0003-Optimize-default-values-for-configs.patch +++ b/patches/server/0003-Optimize-default-values-for-configs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize default values for configs diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index cbd0f2c6636b8ae332f20a3cb763b06855dfe795..0bc37e847787fe6e7506dab5c08b659ab2b1526e 100644 +index 9221ce36355eaf8d4456209c57b68486d587c255..cdb4446924e49cab82f44c3f034632fe4486c837 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java @@ -338,9 +338,9 @@ public class GlobalConfiguration extends ConfigurationPart { @@ -21,10 +21,10 @@ index cbd0f2c6636b8ae332f20a3cb763b06855dfe795..0bc37e847787fe6e7506dab5c08b659a public boolean strictAdvancementDimensionCheck = false; public IntOr.Default compressionLevel = IntOr.Default.USE_DEFAULT; diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efbc0ed5464 100644 +index 82210667376fd466d5d4cdcb56b62f6165bd5cde..0fef474e1bd0298c212b98369042917ebd6f475e 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -@@ -153,9 +153,9 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -156,9 +156,9 @@ public class WorldConfiguration extends ConfigurationPart { public ArmorStands armorStands; @@ -37,7 +37,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb } public Markers markers; -@@ -272,8 +272,8 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -281,8 +281,8 @@ public class WorldConfiguration extends ConfigurationPart { public Behavior behavior; public class Behavior extends ConfigurationPart { @@ -48,7 +48,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb public int experienceMergeMaxValue = -1; public boolean shouldRemoveDragon = false; public boolean zombiesTargetTurtleEggs = true; -@@ -297,7 +297,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -306,7 +306,7 @@ public class WorldConfiguration extends ConfigurationPart { public int playerInsomniaStartTicks = 72000; public int phantomsSpawnAttemptMinSeconds = 60; public int phantomsSpawnAttemptMaxSeconds = 119; @@ -57,7 +57,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb @BelowZeroToEmpty public DoubleOr.Default zombieVillagerInfectionChance = DoubleOr.Default.USE_DEFAULT; public MobsCanAlwaysPickUpLoot mobsCanAlwaysPickUpLoot; -@@ -308,7 +308,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -317,7 +317,7 @@ public class WorldConfiguration extends ConfigurationPart { } public boolean disablePlayerCrits = false; @@ -66,7 +66,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb @Comment("Prevents merging items that are not on the same y level, preventing potential visual artifacts.") public boolean onlyMergeItemsHorizontally = false; public PillagerPatrols pillagerPatrols; -@@ -406,7 +406,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -415,7 +415,7 @@ public class WorldConfiguration extends ConfigurationPart { public class Environment extends ConfigurationPart { public boolean disableThunder = false; public boolean disableIceAndSnow = false; @@ -75,7 +75,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb public boolean disableExplosionKnockback = false; public boolean generateFlatBedrock = false; public FrostedIce frostedIce; -@@ -456,7 +456,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -465,7 +465,7 @@ public class WorldConfiguration extends ConfigurationPart { public class Maps extends ConfigurationPart { public int itemFrameCursorLimit = 128; @@ -84,7 +84,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb } public Fixes fixes; -@@ -482,7 +482,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -491,7 +491,7 @@ public class WorldConfiguration extends ConfigurationPart { public class Hopper extends ConfigurationPart { public boolean cooldownWhenFull = true; public boolean disableMoveEvent = false; @@ -93,7 +93,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb } public Collisions collisions; -@@ -490,9 +490,9 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -499,9 +499,9 @@ public class WorldConfiguration extends ConfigurationPart { public class Collisions extends ConfigurationPart { public boolean onlyPlayersCollide = false; public boolean allowVehicleCollisions = true; @@ -105,7 +105,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb public boolean allowPlayerCrammingDamage = false; } -@@ -500,18 +500,31 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -509,18 +509,31 @@ public class WorldConfiguration extends ConfigurationPart { public class Chunks extends ConfigurationPart { public AutosavePeriod autoSaveInterval = AutosavePeriod.def(); @@ -147,7 +147,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb }); public boolean flushRegionsOnSave = false; } -@@ -526,13 +539,15 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -535,13 +548,15 @@ public class WorldConfiguration extends ConfigurationPart { public TickRates tickRates; public class TickRates extends ConfigurationPart { @@ -168,7 +168,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb } @Setting(FeatureSeedsGeneration.FEATURE_SEEDS_KEY) -@@ -541,7 +556,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -550,7 +565,7 @@ public class WorldConfiguration extends ConfigurationPart { public class FeatureSeeds extends ConfigurationPart { @SuppressWarnings("unused") // Is used in FeatureSeedsGeneration @Setting(FeatureSeedsGeneration.GENERATE_KEY) @@ -177,7 +177,7 @@ index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efb @Setting(FeatureSeedsGeneration.FEATURES_KEY) public Reference2LongMap>> features = new Reference2LongOpenHashMap<>(); -@@ -562,9 +577,9 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -571,9 +586,9 @@ public class WorldConfiguration extends ConfigurationPart { public class Misc extends ConfigurationPart { public int lightQueueSize = 20; diff --git a/patches/server/0004-Add-missing-purpur-config-options.patch b/patches/server/0004-Add-missing-purpur-config-options.patch index 5e35620..02843b3 100644 --- a/patches/server/0004-Add-missing-purpur-config-options.patch +++ b/patches/server/0004-Add-missing-purpur-config-options.patch @@ -213,7 +213,7 @@ index 4933dc4d6e8e6920feed37f3a68adf74730fee1e..21126e3122ffc5ecd64293e108a181cf org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d39a0d455f10189054ebc894c55188c5cbc000d2..7809b6c148aca026088f81a3e0517a13960b1053 100644 +index 57ddb4e6a464567cc67e09ce06218cc25af4ddf9..7de33fa1e349a784bcceeda5606402cf64a056d6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1135,12 +1135,20 @@ public class PurpurWorldConfig { @@ -253,7 +253,7 @@ index d39a0d455f10189054ebc894c55188c5cbc000d2..7809b6c148aca026088f81a3e0517a13 camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); camelMaxHealthMax = getDouble("mobs.camel.attributes.max_health.max", camelMaxHealthMax); -@@ -1742,7 +1758,17 @@ public class PurpurWorldConfig { +@@ -1755,7 +1771,17 @@ public class PurpurWorldConfig { public boolean frogControllable = true; public float frogRidableJumpHeight = 0.65F; public int frogBreedingTicks = 6000; @@ -271,7 +271,7 @@ index d39a0d455f10189054ebc894c55188c5cbc000d2..7809b6c148aca026088f81a3e0517a13 frogRidable = getBoolean("mobs.frog.ridable", frogRidable); frogRidableInWater = getBoolean("mobs.frog.ridable-in-water", frogRidableInWater); frogControllable = getBoolean("mobs.frog.controllable", frogControllable); -@@ -2754,7 +2780,15 @@ public class PurpurWorldConfig { +@@ -2767,7 +2793,15 @@ public class PurpurWorldConfig { public double snifferMaxHealth = 14.0D; public double snifferScale = 1.0D; public int snifferBreedingTicks = 6000; @@ -287,7 +287,7 @@ index d39a0d455f10189054ebc894c55188c5cbc000d2..7809b6c148aca026088f81a3e0517a13 snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable); snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater); snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable); -@@ -2862,7 +2896,17 @@ public class PurpurWorldConfig { +@@ -2875,7 +2909,17 @@ public class PurpurWorldConfig { public boolean tadpoleRidable = false; public boolean tadpoleRidableInWater = true; public boolean tadpoleControllable = true; @@ -305,7 +305,7 @@ index d39a0d455f10189054ebc894c55188c5cbc000d2..7809b6c148aca026088f81a3e0517a13 tadpoleRidable = getBoolean("mobs.tadpole.ridable", tadpoleRidable); tadpoleRidableInWater = getBoolean("mobs.tadpole.ridable-in-water", tadpoleRidableInWater); tadpoleControllable = getBoolean("mobs.tadpole.controllable", tadpoleControllable); -@@ -3090,7 +3134,17 @@ public class PurpurWorldConfig { +@@ -3107,7 +3151,17 @@ public class PurpurWorldConfig { public boolean wardenRidable = false; public boolean wardenRidableInWater = true; public boolean wardenControllable = true; diff --git a/patches/server/0008-Fix-MC-172801.patch b/patches/server/0008-Fix-MC-172801.patch index f9371e0..c7f81d9 100644 --- a/patches/server/0008-Fix-MC-172801.patch +++ b/patches/server/0008-Fix-MC-172801.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-172801 Original post on Mojira: https://bugs.mojang.com/browse/MC-172801 diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 31dff231c8ff073e65ba8bd120bb29d10b80af6c..875cc726ff769fe51422e49278df009b58225d94 100644 +index 734644edf9109ce0d0b059296d229f4877499c26..c18da64bb878a6fb1b1b9f9c1e9c3a2cc4c96e40 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3290,7 +3290,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3312,7 +3312,13 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected float getFlyingSpeed() { diff --git a/patches/server/0009-Fix-MC-2025.patch b/patches/server/0009-Fix-MC-2025.patch index 18d56fe..2fc4eb7 100644 --- a/patches/server/0009-Fix-MC-2025.patch +++ b/patches/server/0009-Fix-MC-2025.patch @@ -7,10 +7,10 @@ Original post on Mojira: https://bugs.mojang.com/browse/MC-2025 Fix taken from Reddit: https://redd.it/8pgd4q diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b97e814d836f2924dae44fe3536e1ae2f25c989b..b2685ef358759d575eac82858e1a9c2408d34549 100644 +index febd5e137290952d820a7869eaaef77e374a3b07..2310da6000ecdffface1daaec8b5e1456d95c644 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2755,6 +2755,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2763,6 +2763,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess nbttagcompound.putBoolean("Purpur.FireImmune", immuneToFire); } // Purpur end @@ -28,7 +28,7 @@ index b97e814d836f2924dae44fe3536e1ae2f25c989b..b2685ef358759d575eac82858e1a9c24 return nbttagcompound; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -2833,6 +2844,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2841,6 +2852,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.reapplyPosition(); } diff --git a/patches/server/0012-vmp-skip-entity-move-if-movement-is-zero.patch b/patches/server/0012-vmp-skip-entity-move-if-movement-is-zero.patch index a69409e..22c91bb 100644 --- a/patches/server/0012-vmp-skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0012-vmp-skip-entity-move-if-movement-is-zero.patch @@ -7,7 +7,7 @@ Original code by RelativityMC, licensed under MIT You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b2685ef358759d575eac82858e1a9c2408d34549..4d550730148d166806694fce65c5d10c61d9dca6 100644 +index 2310da6000ecdffface1daaec8b5e1456d95c644..afe03c1ad85bd410860c9bd8a35ca769c6068820 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -326,6 +326,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -18,7 +18,7 @@ index b2685ef358759d575eac82858e1a9c2408d34549..4d550730148d166806694fce65c5d10c public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1222,6 +1223,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1230,6 +1231,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Paper end - detailed watchdog information public void move(MoverType type, Vec3 movement) { @@ -31,7 +31,7 @@ index b2685ef358759d575eac82858e1a9c2408d34549..4d550730148d166806694fce65c5d10c final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity // Paper start - detailed watchdog information ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main"); -@@ -4501,6 +4508,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4509,6 +4516,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/server/0017-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch b/patches/server/0017-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch index 20a04a2..6073aae 100644 --- a/patches/server/0017-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch +++ b/patches/server/0017-lithium-entity.fast_elytra_check-entity.fast_hand_sw.patch @@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under LGPL v3 You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings) diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 875cc726ff769fe51422e49278df009b58225d94..c37e2298b9bd8fa78703ac2fce1ac89294450ea0 100644 +index c18da64bb878a6fb1b1b9f9c1e9c3a2cc4c96e40..b133bfd8fb75e3f8242f25cd66da46a0d2479bc0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2772,6 +2772,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2794,6 +2794,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected void updateSwingTime() { diff --git a/patches/server/0030-Optimize-CraftServer.getWorld-UUID.patch b/patches/server/0030-Optimize-CraftServer.getWorld-UUID.patch index 0d1beb1..c5f3d8a 100644 --- a/patches/server/0030-Optimize-CraftServer.getWorld-UUID.patch +++ b/patches/server/0030-Optimize-CraftServer.getWorld-UUID.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize CraftServer.getWorld(UUID) Original code by MultiPaper - https://github.com/MultiPaper/MultiPaper diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 557eaa1393ba698165893c259ed57ecd589c333c..269255b94851d1a3e8bc12bd7418c2c78977e283 100644 +index 825066dbd54ef753cdc03cbbe9deb65438759449..d57338319e8267fe83ae6578322dfcc1eba336aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -269,6 +269,7 @@ import javax.annotation.Nullable; // Paper @@ -25,7 +25,7 @@ index 557eaa1393ba698165893c259ed57ecd589c333c..269255b94851d1a3e8bc12bd7418c2c7 private YamlConfiguration configuration; private YamlConfiguration commandsConfiguration; private final Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions())); -@@ -1509,6 +1511,7 @@ public final class CraftServer implements Server { +@@ -1521,6 +1523,7 @@ public final class CraftServer implements Server { this.getLogger().log(Level.SEVERE, null, ex); } @@ -33,7 +33,7 @@ index 557eaa1393ba698165893c259ed57ecd589c333c..269255b94851d1a3e8bc12bd7418c2c7 this.worlds.remove(world.getName().toLowerCase(Locale.ROOT)); this.console.removeLevel(handle); return true; -@@ -1527,6 +1530,7 @@ public final class CraftServer implements Server { +@@ -1539,6 +1542,7 @@ public final class CraftServer implements Server { @Override public World getWorld(UUID uid) { @@ -41,7 +41,7 @@ index 557eaa1393ba698165893c259ed57ecd589c333c..269255b94851d1a3e8bc12bd7418c2c7 for (World world : this.worlds.values()) { if (world.getUID().equals(uid)) { return world; -@@ -1550,6 +1554,7 @@ public final class CraftServer implements Server { +@@ -1562,6 +1566,7 @@ public final class CraftServer implements Server { System.out.println("World " + world.getName() + " is a duplicate of another world and has been prevented from loading. Please delete the uid.dat file from " + world.getName() + "'s world directory if you want to be able to load the duplicate world."); return; } diff --git a/patches/server/0031-Block-Log4Shell-exploit.patch b/patches/server/0031-Block-Log4Shell-exploit.patch index 3ed6a97..6b4d52b 100644 --- a/patches/server/0031-Block-Log4Shell-exploit.patch +++ b/patches/server/0031-Block-Log4Shell-exploit.patch @@ -33,10 +33,10 @@ index 50bc64000f24aa2ae0df2ce7fc77f27d760b8764..9aabf8d4a333f96f1431da12cd42766a for (int i = 0; i < message.length(); ++i) { if (!StringUtil.isAllowedChatCharacter(message.charAt(i))) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3ffd75c2547e1c113f65cf258ae6a9ce8d353fef..100ea754bd2168628251f2c66356e13224b2cfb5 100644 +index 49f69a42dbf35ac812b5bd53f395c3de8b332c19..ed1f3ce5af2834da3b8ed60b2445f603536a03a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -756,6 +756,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -758,6 +758,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Preconditions.checkArgument(msg != null, "msg cannot be null"); if (this.getHandle().connection == null) return; diff --git a/patches/server/0048-Implement-Secure-Seed.patch b/patches/server/0048-Implement-Secure-Seed.patch index d9653a7..5c78bfb 100644 --- a/patches/server/0048-Implement-Secure-Seed.patch +++ b/patches/server/0048-Implement-Secure-Seed.patch @@ -52,7 +52,7 @@ index 05e16103af3fd276f0196ddf1a2e5b729b025c34..e0118dfee89d4319f70a0d2f84ba4c21 return GsonHelper.parse(!s1.isEmpty() ? s1 : "{}"); }, new JsonObject()), (String) this.get("level-type", (s1) -> { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index aaaadb7be8abf867624a1ca83371595bef4ab633..414bc5d7ba297472487d9a9aa3a20c67d54e880c 100644 +index 61a73a234d9bdd22958ae261b7d0359179f7a57b..d0f5db80dde032d325e05bade329418113545031 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -641,6 +641,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -64,10 +64,10 @@ index aaaadb7be8abf867624a1ca83371595bef4ab633..414bc5d7ba297472487d9a9aa3a20c67 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 63ba7e35ee93b90c7b81f69e638eae410609746b..de84d398297859aee2c18546c1836d47d8c109d4 100644 +index f1ccf5ecbb6d6b86bec05ce722cd7c82174bb28a..a840b8fa8851125c1fe078eb00c7e8a02524589f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -636,6 +636,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -643,6 +643,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe chunkgenerator = new org.bukkit.craftbukkit.generator.CustomChunkGenerator(this, chunkgenerator, gen); } // CraftBukkit end @@ -453,10 +453,10 @@ index 0074bc0e7147dc3a8c538e796f14ac9bf8725896..2f9e110fc8067dff39eb0222a1fb47b9 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7aea486e9b3c5bfb42097081bada8257834e5249..05a3c8c7f65ae7a3d287a8d749b2c0690e54e091 100644 +index d57338319e8267fe83ae6578322dfcc1eba336aa..1dacae97862e841fcb1c96dfb6c4fe4e87b872fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1400,7 +1400,11 @@ public final class CraftServer implements Server { +@@ -1412,7 +1412,11 @@ public final class CraftServer implements Server { iregistrycustom_dimension = leveldataanddimensions.dimensions().dimensionsRegistryAccess(); } else { LevelSettings worldsettings;