diff --git a/gradle.properties b/gradle.properties index 27cb2a96..45e8efcb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=cn.dreeam.leaf mcVersion=1.21.8 version=1.21.8-R0.1-SNAPSHOT -paperCommit=f0c1f856f2a5dd41445488e281ecd5166f0d7454 +paperCommit=b200237c7d9b843995f23ba1beae0899ef54ae72 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/leaf-api/paper-patches/features/0011-Purpur-API-Changes.patch b/leaf-api/paper-patches/features/0011-Purpur-API-Changes.patch index e637e5ae..35f4c6b7 100644 --- a/leaf-api/paper-patches/features/0011-Purpur-API-Changes.patch +++ b/leaf-api/paper-patches/features/0011-Purpur-API-Changes.patch @@ -21,7 +21,7 @@ Patches listed below are removed in this patch, They exists in Gale or Leaf: * "org/spigotmc/CustomTimingsHandler.java.patch" diff --git a/src/generated/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/generated/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java -index b7fae62ca1807031c62148505ae54c0fb7b87780..3b6580c3679e9c325dd8deb302dbfe6a062bd291 100644 +index 8f39c993056ba5564f111f29d1f84bd014a4c95d..cc1afe2e179d5b0f3f5d9c5c730ca385a14349c5 100644 --- a/src/generated/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/src/generated/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java @@ -446,6 +446,26 @@ public interface VanillaGoal extends Goal { @@ -290,7 +290,7 @@ index 918a045165cdcde264bc24082b7afebb407271de..f283bcabff7fe6eede6cf4344537e430 + // Purpur end - ChatColor conveniences } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 899c288e12b423b9f8fe84e113fd4d996a98de94..7f488cc432ded1ec0e99c65bea5fd9897c8efbb4 100644 +index f6bf9a5222a2ee72ac307787f69fa32130ae6a03..60458cd8e2127d128acd69bbfb8eb6edf8e1de8c 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -3633,4 +3633,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla @@ -579,10 +579,10 @@ index ad65ee800d9d394d0322e7ca0b71972d81ca66a1..cc12db46d30c2499dea87f953ef6bf1f + // Purpur end - Debug Marker API } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 04a1379f5fe281ab72610d2f8f18e1355fe3a134..f75b76bf5c0025d4f74037de435d9cb1aa8defee 100644 +index ae342a5cebf12b0c6fea3171d8035b75bc7a00e8..bb9fe9a6c3116e83d2ebd98f81298454f6677ccc 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4308,6 +4308,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4319,6 +4319,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); @@ -1008,7 +1008,7 @@ index bc84b892cae5fe7019a3ad481e9da79956efa1fe..48eb5b00c460cccde29d327cef1d63fc + // Purpur end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index cc663ca87a6f64ea891984c72554796f25bb308f..747e943d98a385346b79897a5261d41cfc9572df 100644 +index 65d8986532f89ef4a51dcad7bf779327810efce8..f2dc9ae68a373d9d1d02cc103c9253496eaa0962 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3942,4 +3942,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1161,7 +1161,7 @@ index 7fbfdb07585c7b28acea1f0c1f58ada0cc744441..21fcca092e2e31baa5ece0de9e44e3fa + // Purpur end } diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java -index 4048add2433ebe39d3df995296daaff4bfadce47..8da18f023f6b18f6be58e08f37c2d873bc0c97d2 100644 +index d2198f27241e49223a9071f8ac01ec0615d12535..9fffb63433557aa472542d95d551e32c8e1024a8 100644 --- a/src/main/java/org/bukkit/entity/Villager.java +++ b/src/main/java/org/bukkit/entity/Villager.java @@ -408,4 +408,13 @@ public interface Villager extends AbstractVillager { @@ -1204,7 +1204,7 @@ index 11ae1b3ad8c215f9245945d223c52f4a62ac47d9..7f23eb5a60ff08fb31e8ba3731a43bd7 + // Purpur end } diff --git a/src/main/java/org/bukkit/entity/Wolf.java b/src/main/java/org/bukkit/entity/Wolf.java -index 98ed584f801a35253a9a5a2af3c73dbbc49bcb06..8708ab27e38e3906b13d103ad45224c89e239117 100644 +index 6c439fc766d904e79fa5d65caf365ed56d818b35..3e30563b39851812c7321f3fd24e080078b45dee 100644 --- a/src/main/java/org/bukkit/entity/Wolf.java +++ b/src/main/java/org/bukkit/entity/Wolf.java @@ -163,4 +163,20 @@ public interface Wolf extends Tameable, Sittable, io.papermc.paper.entity.Collar diff --git a/leaf-api/paper-patches/features/0018-Async-structure-locate-api.patch b/leaf-api/paper-patches/features/0018-Async-structure-locate-api.patch index d144d14c..04fd3abd 100644 --- a/leaf-api/paper-patches/features/0018-Async-structure-locate-api.patch +++ b/leaf-api/paper-patches/features/0018-Async-structure-locate-api.patch @@ -9,10 +9,10 @@ Added some asynchronous structure locate methods in World, requires async-locator to be enabled in Leaf config, or else it will fall back to sync methods. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index f75b76bf5c0025d4f74037de435d9cb1aa8defee..0f1a6ac47c1b6d66d611a4c9bb0198b07d3e7a1c 100644 +index bb9fe9a6c3116e83d2ebd98f81298454f6677ccc..db3fac22e98c51b02ea8d137000d007e2a2d5b81 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4102,6 +4102,60 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4113,6 +4113,60 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored); diff --git a/leaf-server/paper-patches/features/0008-Purpur-Server-Paper-Changes.patch b/leaf-server/paper-patches/features/0008-Purpur-Server-Paper-Changes.patch index e3588fe4..1da76693 100644 --- a/leaf-server/paper-patches/features/0008-Purpur-Server-Paper-Changes.patch +++ b/leaf-server/paper-patches/features/0008-Purpur-Server-Paper-Changes.patch @@ -634,10 +634,10 @@ index 18a087e82383d0776504293bba513e247f4bc881..09054336441cbcce99d1fd82276c5f8c + // Purpur end - Lagging threshold } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index aa0a61d7f3128543b698647663fa4a9af2a8255a..405b0164a67fe75ec6c5aee4d7302f53df9556f8 100644 +index ee7a4169003b23766b5d2e6edf9221375d80d83c..61121d2efd0df2fcafdc4c272e1cd1b986f42e24 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2375,6 +2375,50 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2376,6 +2376,50 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } diff --git a/leaf-server/paper-patches/features/0046-Async-structure-locate-api.patch b/leaf-server/paper-patches/features/0046-Async-structure-locate-api.patch index cc0200e3..8c423b10 100644 --- a/leaf-server/paper-patches/features/0046-Async-structure-locate-api.patch +++ b/leaf-server/paper-patches/features/0046-Async-structure-locate-api.patch @@ -9,10 +9,10 @@ Added some asynchronous structure locate methods in World, requires async-locator to be enabled in Leaf config, or else it will fall back to sync methods. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 405b0164a67fe75ec6c5aee4d7302f53df9556f8..adb2324949484bc543bab25a79ed6d2c39bcba42 100644 +index 61121d2efd0df2fcafdc4c272e1cd1b986f42e24..8c597b54491521f759e2983329a522ba065c647f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2300,6 +2300,45 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2301,6 +2301,45 @@ public class CraftWorld extends CraftRegionAccessor implements World { return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value()), CraftLocation.toBukkit(found.getFirst(), this)); } diff --git a/leaf-server/paper-patches/features/0049-SparklyPaper-Parallel-world-ticking.patch b/leaf-server/paper-patches/features/0049-SparklyPaper-Parallel-world-ticking.patch index 416668e5..73650ae5 100644 --- a/leaf-server/paper-patches/features/0049-SparklyPaper-Parallel-world-ticking.patch +++ b/leaf-server/paper-patches/features/0049-SparklyPaper-Parallel-world-ticking.patch @@ -251,10 +251,10 @@ index a4aa2615823d77920ff55b8aa0bcc27a54b8c3e1..e1bf7dfdb3be8f92ef2cb86d7f15a613 + // SparklyPaper end - parallel world ticking } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca10d4f9367 100644 +index 8c597b54491521f759e2983329a522ba065c647f..10a1f9cf6a558037be7b91e7dfa102a4a5f3c104 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -479,7 +479,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -480,7 +480,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { } private boolean unloadChunk0(int x, int z, boolean save) { @@ -268,7 +268,7 @@ index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca1 if (!this.isChunkLoaded(x, z)) { return true; } -@@ -496,6 +501,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -497,6 +502,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean refreshChunk(int x, int z) { @@ -277,7 +277,7 @@ index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca1 ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z)); if (playerChunk == null) return false; -@@ -546,7 +553,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -547,7 +554,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { @@ -291,7 +291,7 @@ index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca1 warnUnsafeChunk("loading a faraway chunk", x, z); // Paper ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper -@@ -774,6 +786,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -775,6 +787,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) { @@ -300,7 +300,7 @@ index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca1 this.world.captureTreeGeneration = true; this.world.captureBlockStates = true; boolean grownTree = this.generateTree(loc, type); -@@ -889,6 +903,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -890,6 +904,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { } public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source, Consumer configurator) { // Paper end - expand explosion API @@ -309,7 +309,7 @@ index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca1 net.minecraft.world.level.Level.ExplosionInteraction explosionType; if (!breakBlocks) { explosionType = net.minecraft.world.level.Level.ExplosionInteraction.NONE; // Don't break blocks -@@ -980,6 +996,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -981,6 +997,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) { @@ -318,7 +318,7 @@ index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca1 warnUnsafeChunk("getting a faraway chunk", x >> 4, z >> 4); // Paper // Transient load for this tick return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z); -@@ -1010,6 +1028,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1011,6 +1029,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setBiome(int x, int y, int z, Holder bb) { BlockPos pos = new BlockPos(x, 0, z); @@ -327,7 +327,7 @@ index adb2324949484bc543bab25a79ed6d2c39bcba42..43efa9ce8262a0118328c555a146dca1 if (this.world.hasChunkAt(pos)) { net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkAt(pos); -@@ -2357,6 +2377,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2358,6 +2378,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void sendGameEvent(Entity sourceEntity, org.bukkit.GameEvent gameEvent, Vector position) {