diff --git a/gradle.properties b/gradle.properties index 25d22f0..6cb7a59 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=me.samsuik.sakura version=1.21.4-R0.1-SNAPSHOT mcVersion=1.21.4 -paperRef=65633e373c5716ac78c9baabf82be2e84072bfff +paperRef=346b9b8d2d604cc7cd06e3469c0387ce570caee5 org.gradle.jvmargs=-Xmx2G org.gradle.vfs.watch=false diff --git a/patches/server/0001-Branding-changes.patch b/patches/server/0001-Branding-changes.patch index 18d2245..acd9f02 100644 --- a/patches/server/0001-Branding-changes.patch +++ b/patches/server/0001-Branding-changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Branding changes From ForkPaper. diff --git a/build.gradle.kts b/build.gradle.kts -index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..abaa5cf4214859f0325ddca3784f6b126520fd7d 100644 +index 2da91ed6363c0851e4c459188f5e8ef5475e0c97..478101cf841aebfce6d1e2422b96a080a3e56848 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { @@ -15,10 +15,10 @@ index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..abaa5cf4214859f0325ddca3784f6b12 dependencies { - implementation(project(":paper-api")) + implementation(project(":sakura-api")) // Sakura + implementation("ca.spottedleaf:concurrentutil:0.0.2") // Paper - Add ConcurrentUtil dependency // Paper start 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 -@@ -99,14 +99,14 @@ tasks.jar { +@@ -100,14 +100,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", diff --git a/patches/server/0003-Sakura-Configuration-Files.patch b/patches/server/0003-Sakura-Configuration-Files.patch index f166b74..152d8bb 100644 --- a/patches/server/0003-Sakura-Configuration-Files.patch +++ b/patches/server/0003-Sakura-Configuration-Files.patch @@ -1183,7 +1183,7 @@ index 0000000000000000000000000000000000000000..4024f9738e039ffffd560a07a2210f75 +public record DurableMaterial(int durability, float resistance) { +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ab4f1bd1ebf0af54f3fa88ee9e2007d20445e7e9..686322e99b33fd3334302d3ccafd881b609b6d96 100644 +index ae4ebf509837e8d44255781c61d02873f8b74be8..a39b00ebb37a0bf041bc7b9861fb7f9ebd962c40 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -327,6 +327,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping - public volatile Thread shutdownThread; // Paper @@ -512,6 +513,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop intoVoxel, final List intoAABB, -@@ -1963,6 +1964,7 @@ public final class CollisionUtil { +@@ -1936,6 +1937,7 @@ public final class CollisionUtil { final int maxChunkZ = maxBlockZ >> 4; final boolean loadChunks = (collisionFlags & COLLISION_FLAG_LOAD_CHUNKS) != 0; @@ -24,7 +24,7 @@ index fb251665cdbafab90c6ff5e1bcb34fc17124d4d9..a8abdfe0f9e7f8e1b1b92b03dec53906 final ChunkSource chunkSource = world.getChunkSource(); for (int currChunkZ = minChunkZ; currChunkZ <= maxChunkZ; ++currChunkZ) { -@@ -1981,6 +1983,13 @@ public final class CollisionUtil { +@@ -1954,6 +1956,13 @@ public final class CollisionUtil { continue; } @@ -51,7 +51,7 @@ index 4d3f7d4a8e05a8d84aa5202134eda1ce9621712e..db159b9b4ffc032f5abe68bf294e58cc public static TicketType create(String name, Comparator argumentComparator) { return new TicketType<>(name, argumentComparator, 0L); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 20dac48cce9596217d1ebd1703e5ac2c0ede56e1..20980e5a180e0e7951d5c9a97b8b8f792c619b9a 100644 +index 29045a4857aadbc7f9ae0c612555743ad404682d..031d3fde74a08165dc6b8106246249583c2300c0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -572,6 +572,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0033-Add-option-to-disable-entity-ai.patch b/patches/server/0033-Add-option-to-disable-entity-ai.patch index 0317952..aef884d 100644 --- a/patches/server/0033-Add-option-to-disable-entity-ai.patch +++ b/patches/server/0033-Add-option-to-disable-entity-ai.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable entity ai diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5a3059cadbc9735b4b48745c6b1b11196596b06d..7ea45862e61d2ecb0722affef2286ea3a1a782a3 100644 +index 5a0b51342f4a646101f4588697bcae7d1ca8a010..700a690321fb08e0ce594505e6cc6f3b81d86995 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -908,7 +908,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -910,7 +910,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab protected final void serverAiStep() { ++this.noActionTime; // Paper start - Allow nerfed mobs to jump and float diff --git a/patches/server/0037-Configure-cannon-physics-by-version.patch b/patches/server/0037-Configure-cannon-physics-by-version.patch index df5ea26..f6e9ee7 100644 --- a/patches/server/0037-Configure-cannon-physics-by-version.patch +++ b/patches/server/0037-Configure-cannon-physics-by-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configure cannon physics by version diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -index a8abdfe0f9e7f8e1b1b92b03dec53906c553bf67..b85f739b21cab2f72237fcbc04386af77250527b 100644 +index 651a45b795818bd7b1364b95c52570fd99dd35e4..079aa846fa9b5650675ae855ba0bb61ca42a6b52 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -@@ -1801,6 +1801,13 @@ public final class CollisionUtil { +@@ -1774,6 +1774,13 @@ public final class CollisionUtil { } public static Vec3 performAABBCollisions(final Vec3 moveVector, AABB axisalignedbb, final List potentialCollisions) { @@ -22,7 +22,7 @@ index a8abdfe0f9e7f8e1b1b92b03dec53906c553bf67..b85f739b21cab2f72237fcbc04386af7 double x = moveVector.x; double y = moveVector.y; double z = moveVector.z; -@@ -1812,7 +1819,10 @@ public final class CollisionUtil { +@@ -1785,7 +1792,10 @@ public final class CollisionUtil { } } @@ -34,7 +34,7 @@ index a8abdfe0f9e7f8e1b1b92b03dec53906c553bf67..b85f739b21cab2f72237fcbc04386af7 if (xSmaller && z != 0.0) { z = performAABBCollisionsZ(axisalignedbb, z, potentialCollisions); -@@ -1838,9 +1848,18 @@ public final class CollisionUtil { +@@ -1811,9 +1821,18 @@ public final class CollisionUtil { public static Vec3 performCollisions(final Vec3 moveVector, AABB axisalignedbb, final List voxels, final List aabbs) { @@ -54,7 +54,7 @@ index a8abdfe0f9e7f8e1b1b92b03dec53906c553bf67..b85f739b21cab2f72237fcbc04386af7 } double x = moveVector.x; -@@ -1855,7 +1874,10 @@ public final class CollisionUtil { +@@ -1828,7 +1847,10 @@ public final class CollisionUtil { } } @@ -106,7 +106,7 @@ index ebe5f0c8c2f09920b5f5ef734e63f5e7cd8bd3a1..320cdb1f4e655a2d093890e88476df90 protected int getExplosionCount() { if (this.cause.getMergeEntityData().getMergeLevel() == MergeLevel.NONE) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a56517cb6628939e6eed4b26e5e7f8bf6fc1c7af..57d9003a79c2d3a0c756b4e4738c33f7a206e62a 100644 +index 42c88e1dfbebcd28a0939c75719f8564a1b2f623..6ab4c1db02846123e72a805a2e8070c398d726e3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -341,7 +341,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0044-Treat-solid-blocks-as-full-when-moving-fast.patch b/patches/server/0044-Treat-solid-blocks-as-full-when-moving-fast.patch index e76eed6..92fd1f6 100644 --- a/patches/server/0044-Treat-solid-blocks-as-full-when-moving-fast.patch +++ b/patches/server/0044-Treat-solid-blocks-as-full-when-moving-fast.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Treat solid blocks as full when moving fast diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -index 27b7be52f7617a6ecd1ff7e967604424f40027bc..417b18e1179f962e218f63679785e487ba606477 100644 +index 079aa846fa9b5650675ae855ba0bb61ca42a6b52..7953ddb67530396c35b42496594a80e1b3f1b349 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -@@ -1935,6 +1935,7 @@ public final class CollisionUtil { +@@ -1908,6 +1908,7 @@ public final class CollisionUtil { public static final int COLLISION_FLAG_CHECK_BORDER = 1 << 2; public static final int COLLISION_FLAG_CHECK_ONLY = 1 << 3; public static final int COLLISION_FLAG_ADD_TICKET = 1 << 4; // Sakura - load chunks on movement @@ -16,7 +16,7 @@ index 27b7be52f7617a6ecd1ff7e967604424f40027bc..417b18e1179f962e218f63679785e487 public static boolean getCollisionsForBlocksOrWorldBorder(final Level world, final Entity entity, final AABB aabb, final List intoVoxel, final List intoAABB, -@@ -1987,6 +1988,7 @@ public final class CollisionUtil { +@@ -1960,6 +1961,7 @@ public final class CollisionUtil { final boolean loadChunks = (collisionFlags & COLLISION_FLAG_LOAD_CHUNKS) != 0; final boolean addTicket = (collisionFlags & COLLISION_FLAG_ADD_TICKET) != 0; // Sakura - load chunks on movement @@ -24,7 +24,7 @@ index 27b7be52f7617a6ecd1ff7e967604424f40027bc..417b18e1179f962e218f63679785e487 final ChunkSource chunkSource = world.getChunkSource(); for (int currChunkZ = minChunkZ; currChunkZ <= maxChunkZ; ++currChunkZ) { -@@ -2026,7 +2028,7 @@ public final class CollisionUtil { +@@ -1999,7 +2001,7 @@ public final class CollisionUtil { continue; } @@ -33,7 +33,7 @@ index 27b7be52f7617a6ecd1ff7e967604424f40027bc..417b18e1179f962e218f63679785e487 final int sectionAdjust = !hasSpecial ? 1 : 0; final PalettedContainer blocks = section.states; -@@ -2065,6 +2067,11 @@ public final class CollisionUtil { +@@ -2038,6 +2040,11 @@ public final class CollisionUtil { if (useEntityCollisionShape) { mutablePos.set(blockX, blockY, blockZ); blockCollision = collisionShape.getCollisionShape(blockData, world, mutablePos); @@ -46,7 +46,7 @@ index 27b7be52f7617a6ecd1ff7e967604424f40027bc..417b18e1179f962e218f63679785e487 mutablePos.set(blockX, blockY, blockZ); blockCollision = blockData.getCollisionShape(world, mutablePos, collisionShape); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dd93bff521e8bfc72416cebed20cb3a5bce094b8..247759b7e225bbd14951e7876d1fff6ded62cef0 100644 +index 6ab4c1db02846123e72a805a2e8070c398d726e3..21ef61cc82df99aae6be1e6c3f603058cbeb548f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -583,6 +583,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0072-Entity-tracking-range-modifier.patch b/patches/server/0072-Entity-tracking-range-modifier.patch index 28b244c..1cdae0a 100644 --- a/patches/server/0072-Entity-tracking-range-modifier.patch +++ b/patches/server/0072-Entity-tracking-range-modifier.patch @@ -21,7 +21,7 @@ index 274b3a5e1d4606ed47ba7e3e4ee369d607cea8a1..49f8afdaa91e89b899b9fcce1ef9a972 double d2 = d0 * d0; // Paper start - Configurable entity tracking range by Y diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5266e37ade8851a8b73a4ae12ecd67a8d0c6e09d..c572b1ab6f3763738747560296a604d65d05c12c 100644 +index 2a9659158d39d4d5505328afd7a2d8dc9ecf456f..5f7945c852ef9eb0d1183cc0ce33db5a82edee56 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -358,6 +358,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -33,10 +33,10 @@ index 5266e37ade8851a8b73a4ae12ecd67a8d0c6e09d..c572b1ab6f3763738747560296a604d6 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d00fcfd5219a532204533f159d68524b2d33ccc7..4d0027a08d11fc838aee3cb318b6ea9182b4183c 100644 +index f3f4b4df097e1e593ac5028f7d3db92fc407d831..12e6681470575564a0833aa68cc62f7b399cef66 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3024,6 +3024,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3025,6 +3025,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance(); }