diff --git a/gradle.properties b/gradle.properties index 6fb8c714..cd7588e4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,5 +4,5 @@ version=1.20.1-R0.1-SNAPSHOT mcVersion=1.20.1 packageVersion=1_20_R1 org.gradle.jvmargs=-Xmx2G -paperRef=b4e3b3d1dd447bac4cbf478595c1ec320bc6dd4b +paperRef=e2b197132d00833a82cbbb57930842a6b896d626 preVersion=false diff --git a/patches/server/0008-Fakeplayer-support.patch b/patches/server/0008-Fakeplayer-support.patch index f7cf69ce..edd77e7b 100644 --- a/patches/server/0008-Fakeplayer-support.patch +++ b/patches/server/0008-Fakeplayer-support.patch @@ -263,7 +263,7 @@ index b8c238287e0639b578170c6fec0d4db5a1a59fe7..d57e6c88524482b4d37930d0fd2e9f79 private int timeUntilHooked; private float fishAngle; diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 706b354ac9a1a6a4a1e61b2a109180d1dd22bbbd..f13f21dbd50f63a71276837abbcf82e0a72ff52c 100644 +index 71b7a091e56dd68da280d13318a393170967b042..0f18fff8f0b06aa427b13768f8b673d396e6afb3 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -406,6 +406,8 @@ public abstract class AbstractContainerMenu { @@ -275,7 +275,7 @@ index 706b354ac9a1a6a4a1e61b2a109180d1dd22bbbd..f13f21dbd50f63a71276837abbcf82e0 if (actionType == ClickType.QUICK_CRAFT) { int i1 = this.quickcraftStatus; -@@ -674,6 +676,23 @@ public abstract class AbstractContainerMenu { +@@ -676,6 +678,23 @@ public abstract class AbstractContainerMenu { } @@ -375,7 +375,7 @@ index 2dbe8b870fd39b4d22e9725912f443757ae70761..8388c2a56cbe531cf5f60a18866c85fa } // Water Animals diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index d739f8b96caea228335543f412546d187c7f246c..904d1fe0bf325c09b67e43bdaa81c902d57b8e26 100644 +index 2b970df3db3bc9ab4c9c82807b2adbdb54cd6d9b..6bab938c724fc10149a4008ab8c2142023310d6e 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -8,6 +8,9 @@ import org.bukkit.command.Command; diff --git a/patches/server/0024-Only-check-for-spooky-season-once-an-hour.patch b/patches/server/0023-Only-check-for-spooky-season-once-an-hour.patch similarity index 100% rename from patches/server/0024-Only-check-for-spooky-season-once-an-hour.patch rename to patches/server/0023-Only-check-for-spooky-season-once-an-hour.patch diff --git a/patches/server/0023-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0023-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch deleted file mode 100644 index 5be89358..00000000 --- a/patches/server/0023-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: violetc <58360096+s-yh-china@users.noreply.github.com> -Date: Sun, 14 Aug 2022 10:28:52 +0800 -Subject: [PATCH] Strip raytracing for EntityLiving#hasLineOfSight - -This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) - -diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e443253ee52892cc234bda9d930dda445d03b051..ef324b40917b3abf3b3d25dda3c8c258bdbc443e 100644 ---- a/src/main/java/net/minecraft/world/entity/LivingEntity.java -+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3660,7 +3660,13 @@ public abstract class LivingEntity extends Entity implements Attackable { - Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); - - // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists -- return vec3d1.distanceToSqr(vec3d) > 128D * 128D ? false : this.level().clip(new ClipContext(vec3d, vec3d1, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, this)).getType() == HitResult.Type.MISS; -+ // Leaves start - strip raytracing -+ if (top.leavesmc.leaves.LeavesConfig.entityStripRaytracing) { -+ return vec3d1.distanceToSqr(vec3d) > 128D * 128D ? false : this.level().rayTraceDirect(vec3d, vec3d1, net.minecraft.world.phys.shapes.CollisionContext.of(this)) == net.minecraft.world.phys.BlockHitResult.Type.MISS; -+ } else { -+ return vec3d1.distanceToSqr(vec3d) > 128D * 128D ? false : this.level().clip(new ClipContext(vec3d, vec3d1, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, this)).getType() == HitResult.Type.MISS; // Paper - use distanceToSqr -+ } -+ // Leaves end - strip raytracing - } - } - -diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java -index 0e8746759752b692668886370181aa5db1fd0bb0..f5e92bd13154d7c39670a7d5188f6621f4a6fde8 100644 ---- a/src/main/java/net/minecraft/world/level/BlockGetter.java -+++ b/src/main/java/net/minecraft/world/level/BlockGetter.java -@@ -68,6 +68,16 @@ public interface BlockGetter extends LevelHeightAccessor { - }); - } - -+ // Leaves start - broken down variant of below rayTraceBlock, used by World#rayTraceDirect -+ default net.minecraft.world.phys.BlockHitResult.Type rayTraceBlockDirect(Vec3 vec3d, Vec3 vec3d1, BlockPos blockposition, BlockState iblockdata, net.minecraft.world.phys.shapes.CollisionContext voxelshapecoll) { -+ if (iblockdata.isAir()) return null; // Tuinity - optimise air cases -+ VoxelShape voxelshape = ClipContext.Block.COLLIDER.get(iblockdata, this, blockposition, voxelshapecoll); -+ net.minecraft.world.phys.BlockHitResult movingobjectpositionblock = this.clipWithInteractionOverride(vec3d, vec3d1, blockposition, voxelshape, iblockdata); -+ -+ return movingobjectpositionblock == null ? null : movingobjectpositionblock.getType(); -+ } -+ // Leaves end - broken down variant of below rayTraceBlock, used by World#rayTraceDirect -+ - // CraftBukkit start - moved block handling into separate method for use by Block#rayTrace - default BlockHitResult clip(ClipContext raytrace1, BlockPos blockposition) { - // Paper start - Prevent raytrace from loading chunks -diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 4f0a2c9b352f5824ec0c30d0f0af0fe16320aea3..a0693f18c04eb11cf010700499b0302475bb7cd1 100644 ---- a/src/main/java/net/minecraft/world/level/Level.java -+++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -414,6 +414,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable { - return null; - } - -+ // Leaves start - broken down method of raytracing for EntityLiving#hasLineOfSight, replaces IBlockAccess#rayTrace(RayTrace) -+ public net.minecraft.world.phys.BlockHitResult.Type rayTraceDirect(net.minecraft.world.phys.Vec3 vec3d, net.minecraft.world.phys.Vec3 vec3d1, net.minecraft.world.phys.shapes.CollisionContext voxelshapecoll) { -+ // most of this code comes from IBlockAccess#a(RayTrace, BiFunction, Function), but removes the needless functions -+ if (vec3d.equals(vec3d1)) { -+ return net.minecraft.world.phys.BlockHitResult.Type.MISS; -+ } -+ -+ double endX = Mth.lerp(-1.0E-7D, vec3d1.x, vec3d.x); -+ double endY = Mth.lerp(-1.0E-7D, vec3d1.y, vec3d.y); -+ double endZ = Mth.lerp(-1.0E-7D, vec3d1.z, vec3d.z); -+ -+ double startX = Mth.lerp(-1.0E-7D, vec3d.x, vec3d1.x); -+ double startY = Mth.lerp(-1.0E-7D, vec3d.y, vec3d1.y); -+ double startZ = Mth.lerp(-1.0E-7D, vec3d.z, vec3d1.z); -+ -+ int currentX = Mth.floor(startX); -+ int currentY = Mth.floor(startY); -+ int currentZ = Mth.floor(startZ); -+ -+ BlockPos.MutableBlockPos currentBlock = new BlockPos.MutableBlockPos(currentX, currentY, currentZ); -+ -+ LevelChunk chunk = this.getChunkIfLoaded(currentBlock); -+ if (chunk == null) { -+ return net.minecraft.world.phys.BlockHitResult.Type.MISS; -+ } -+ -+ net.minecraft.world.phys.BlockHitResult.Type initialCheck = this.rayTraceBlockDirect(vec3d, vec3d1, currentBlock, chunk.getBlockState(currentBlock), voxelshapecoll); -+ -+ if (initialCheck != null) { -+ return initialCheck; -+ } -+ -+ double diffX = endX - startX; -+ double diffY = endY - startY; -+ double diffZ = endZ - startZ; -+ -+ int xDirection = Mth.sign(diffX); -+ int yDirection = Mth.sign(diffY); -+ int zDirection = Mth.sign(diffZ); -+ -+ double normalizedX = xDirection == 0 ? Double.MAX_VALUE : (double) xDirection / diffX; -+ double normalizedY = yDirection == 0 ? Double.MAX_VALUE : (double) yDirection / diffY; -+ double normalizedZ = zDirection == 0 ? Double.MAX_VALUE : (double) zDirection / diffZ; -+ -+ double normalizedXDirection = normalizedX * (xDirection > 0 ? 1.0D - Mth.frac(startX) : Mth.frac(startX)); -+ double normalizedYDirection = normalizedY * (yDirection > 0 ? 1.0D - Mth.frac(startY) : Mth.frac(startY)); -+ double normalizedZDirection = normalizedZ * (zDirection > 0 ? 1.0D - Mth.frac(startZ) : Mth.frac(startZ)); -+ -+ net.minecraft.world.phys.BlockHitResult.Type result; -+ -+ do { -+ if (normalizedXDirection > 1.0D && normalizedYDirection > 1.0D && normalizedZDirection > 1.0D) { -+ return net.minecraft.world.phys.BlockHitResult.Type.MISS; -+ } -+ -+ if (normalizedXDirection < normalizedYDirection) { -+ if (normalizedXDirection < normalizedZDirection) { -+ currentX += xDirection; -+ normalizedXDirection += normalizedX; -+ } else { -+ currentZ += zDirection; -+ normalizedZDirection += normalizedZ; -+ } -+ } else if (normalizedYDirection < normalizedZDirection) { -+ currentY += yDirection; -+ normalizedYDirection += normalizedY; -+ } else { -+ currentZ += zDirection; -+ normalizedZDirection += normalizedZ; -+ } -+ -+ currentBlock.set(currentX, currentY, currentZ); -+ if (chunk.getPos().x != currentBlock.getX() >> 4 || chunk.getPos().z != currentBlock.getZ() >> 4) { -+ chunk = this.getChunkIfLoaded(currentBlock); -+ if (chunk == null) { -+ return net.minecraft.world.phys.BlockHitResult.Type.MISS; -+ } -+ } -+ result = this.rayTraceBlockDirect(vec3d, vec3d1, currentBlock, chunk.getBlockState(currentBlock), voxelshapecoll); -+ } while (result == null); -+ -+ return result; -+ } -+ // Leaves end - broken down method of raytracing for EntityLiving#hasLineOfSight, replaces IBlockAccess#rayTrace(RayTrace) -+ - public boolean isInWorldBounds(BlockPos pos) { - return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check - } diff --git a/patches/server/0025-Move-ThreadUnsafeRandom-Initialization.patch b/patches/server/0024-Move-ThreadUnsafeRandom-Initialization.patch similarity index 97% rename from patches/server/0025-Move-ThreadUnsafeRandom-Initialization.patch rename to patches/server/0024-Move-ThreadUnsafeRandom-Initialization.patch index ecefcc06..de38d439 100644 --- a/patches/server/0025-Move-ThreadUnsafeRandom-Initialization.patch +++ b/patches/server/0024-Move-ThreadUnsafeRandom-Initialization.patch @@ -19,7 +19,7 @@ index 05e7c0986f1959ec16a6f81cf905744ac3df2f6a..b6ad64f0bed9459aa2ecb4f80b716536 public void tickChunk(LevelChunk chunk, int randomTickSpeed) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a0693f18c04eb11cf010700499b0302475bb7cd1..11d362ce8043966a7fce6c64849b7c080133fcbd 100644 +index c20e4157daec6803dce3ad2e36c38b6808496128..35ac4ab346e7d25ce00c35490836f05a9b962b81 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -274,6 +274,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0026-Optimize-random-calls-in-chunk-ticking.patch b/patches/server/0025-Optimize-random-calls-in-chunk-ticking.patch similarity index 98% rename from patches/server/0026-Optimize-random-calls-in-chunk-ticking.patch rename to patches/server/0025-Optimize-random-calls-in-chunk-ticking.patch index 309351f3..3a572f39 100644 --- a/patches/server/0026-Optimize-random-calls-in-chunk-ticking.patch +++ b/patches/server/0025-Optimize-random-calls-in-chunk-ticking.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize random calls in chunk ticking This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index edafe1f60aab84b9eda5c4b7462552a3b23e19ff..b3d60819cee789c4cb3f7dcd2a8ea4aeb0b50f27 100644 +index 784c264daebedec9d0aa723297d00101d9a9caeb..5942626173e68d80a2e93d7221f2f470f07f022b 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -558,6 +558,11 @@ public class ServerChunkCache extends ChunkSource { diff --git a/patches/server/0028-Early-return-optimization-for-target-finding.patch b/patches/server/0026-Early-return-optimization-for-target-finding.patch similarity index 100% rename from patches/server/0028-Early-return-optimization-for-target-finding.patch rename to patches/server/0026-Early-return-optimization-for-target-finding.patch diff --git a/patches/server/0027-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0027-Skip-POI-finding-if-stuck-in-vehicle.patch deleted file mode 100644 index bc2b4ce2..00000000 --- a/patches/server/0027-Skip-POI-finding-if-stuck-in-vehicle.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: violetc <58360096+s-yh-china@users.noreply.github.com> -Date: Sun, 14 Aug 2022 11:18:44 +0800 -Subject: [PATCH] Skip POI finding if stuck in vehicle - -This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) - -diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -index d4c91e0a0c64fcb7f1145de3f30134cb1f1f8ee6..44fc394dbab7e05a3bd7cab493300a964a6c46a5 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -@@ -47,6 +47,11 @@ public class AcquirePoi { - return false; - } else { - mutableLong.setValue(time + 20L + (long)world.getRandom().nextInt(20)); -+ // Leaves start - wait an additional 10s to check again if they're stuck -+ if (top.leavesmc.leaves.LeavesConfig.skipPOIFindingInVehicle && entity.getNavigation().isStuck()) { -+ mutableLong.add(200L); -+ } -+ // Leaves end - wait an additional 10s to check again if they're stuck - PoiManager poiManager = world.getPoiManager(); - long2ObjectMap.long2ObjectEntrySet().removeIf((entry) -> { - return !entry.getValue().isStillValid(time); diff --git a/patches/server/0029-Use-thread-unsafe-random-for-mob-spawning.patch b/patches/server/0027-Use-thread-unsafe-random-for-mob-spawning.patch similarity index 100% rename from patches/server/0029-Use-thread-unsafe-random-for-mob-spawning.patch rename to patches/server/0027-Use-thread-unsafe-random-for-mob-spawning.patch diff --git a/patches/server/0030-Config-to-disable-method-profiler.patch b/patches/server/0028-Config-to-disable-method-profiler.patch similarity index 86% rename from patches/server/0030-Config-to-disable-method-profiler.patch rename to patches/server/0028-Config-to-disable-method-profiler.patch index 7452c534..2dacb0c9 100644 --- a/patches/server/0030-Config-to-disable-method-profiler.patch +++ b/patches/server/0028-Config-to-disable-method-profiler.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Config to disable method profiler This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8c8406269ce0795189b4f84861c5bd7520a333d2..8f2d2e27a4296d6cb5f1fe4ff83781d81b9331a2 100644 +index 4870438bcb8d8c158a8bb6251782148779430955..745ab8b97e6bf3e9a1621558883711eab25f8725 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2278,6 +2278,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= this.quickcraftSlots.size()) && this.canDragTo(slot1)) { int j1 = slot1.hasItem() ? slot1.getItem().getCount() : 0; @@ -155,7 +155,7 @@ index f13f21dbd50f63a71276837abbcf82e0a72ff52c..4ab69a9962bf7642446d952bc6c70c92 int l1 = Math.min(AbstractContainerMenu.getQuickCraftPlaceCount(this.quickcraftSlots, this.quickcraftType, itemstack1) + j1, k1); l -= l1 - j1; -@@ -574,7 +576,7 @@ public abstract class AbstractContainerMenu { +@@ -575,7 +577,7 @@ public abstract class AbstractContainerMenu { slot.setByPlayer(itemstack3); } } else if (ItemStack.isSameItemSameTags(itemstack, itemstack3)) { @@ -164,7 +164,7 @@ index f13f21dbd50f63a71276837abbcf82e0a72ff52c..4ab69a9962bf7642446d952bc6c70c92 optional1.ifPresent((itemstack4) -> { itemstack3.grow(itemstack4.getCount()); -@@ -640,7 +642,7 @@ public abstract class AbstractContainerMenu { +@@ -642,7 +644,7 @@ public abstract class AbstractContainerMenu { slot2 = (Slot) this.slots.get(slotIndex); if (slot2.hasItem()) { itemstack1 = slot2.getItem(); @@ -173,7 +173,7 @@ index f13f21dbd50f63a71276837abbcf82e0a72ff52c..4ab69a9962bf7642446d952bc6c70c92 } } else if (actionType == ClickType.THROW && this.getCarried().isEmpty() && slotIndex >= 0) { slot2 = (Slot) this.slots.get(slotIndex); -@@ -655,14 +657,14 @@ public abstract class AbstractContainerMenu { +@@ -657,14 +659,14 @@ public abstract class AbstractContainerMenu { j2 = button == 0 ? 1 : -1; for (i2 = 0; i2 < 2; ++i2) { @@ -191,7 +191,7 @@ index f13f21dbd50f63a71276837abbcf82e0a72ff52c..4ab69a9962bf7642446d952bc6c70c92 itemstack1.grow(itemstack5.getCount()); } -@@ -799,7 +801,7 @@ public abstract class AbstractContainerMenu { +@@ -801,7 +803,7 @@ public abstract class AbstractContainerMenu { Slot slot; ItemStack itemstack1; @@ -200,7 +200,7 @@ index f13f21dbd50f63a71276837abbcf82e0a72ff52c..4ab69a9962bf7642446d952bc6c70c92 while (!stack.isEmpty()) { if (fromLast) { if (k < startIndex) { -@@ -819,16 +821,18 @@ public abstract class AbstractContainerMenu { +@@ -821,16 +823,18 @@ public abstract class AbstractContainerMenu { if (!itemstack1.isEmpty() && ItemStack.isSameItemSameTags(stack, itemstack1)) { int l = itemstack1.getCount() + stack.getCount(); diff --git a/patches/server/0051-Improve-fluid-direction-caching.patch b/patches/server/0049-Improve-fluid-direction-caching.patch similarity index 100% rename from patches/server/0051-Improve-fluid-direction-caching.patch rename to patches/server/0049-Improve-fluid-direction-caching.patch diff --git a/patches/server/0052-MC-Technical-Survival-Mode.patch b/patches/server/0050-MC-Technical-Survival-Mode.patch similarity index 99% rename from patches/server/0052-MC-Technical-Survival-Mode.patch rename to patches/server/0050-MC-Technical-Survival-Mode.patch index 5fb55b29..5d62c835 100644 --- a/patches/server/0052-MC-Technical-Survival-Mode.patch +++ b/patches/server/0050-MC-Technical-Survival-Mode.patch @@ -109,7 +109,7 @@ index 9af07ebff3a510a4e3fc71ab4d08897db02b7299..81eaa7ead4821929f20e4c5fcb822504 entity.spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN)) { continue; diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index cb84db4e1160c8cfdb41ff3196f7e13e1533f1b6..120bb8cfefe64ae806d23c885fd3c4765f35214d 100644 +index 75a423cb695bb807e38b17fcc999b4114a8c3579..36d878c5bd82ff8773f9f27024f2ff8ce67dd9f6 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -2,6 +2,7 @@ package top.leavesmc.leaves; diff --git a/patches/server/0053-Return-nether-portal-fix.patch b/patches/server/0051-Return-nether-portal-fix.patch similarity index 97% rename from patches/server/0053-Return-nether-portal-fix.patch rename to patches/server/0051-Return-nether-portal-fix.patch index d878e177..93d81d1a 100644 --- a/patches/server/0053-Return-nether-portal-fix.patch +++ b/patches/server/0051-Return-nether-portal-fix.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Return nether portal fix This patch is powered by NetherPortalFix(https://github.com/TwelveIterationMods/NetherPortalFix) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 08fdd168921b80d3b31310be18ee5c15d57718aa..36d63cbfc7ca29c8b2a69453dbc3065ba63dbeb4 100644 +index 39a88eb5de7b735257f368856cd6d6d37521f257..6a1922f5e1065ffa46d3ba4fa72596bebed826d4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -186,6 +186,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -74,7 +74,7 @@ index 08fdd168921b80d3b31310be18ee5c15d57718aa..36d63cbfc7ca29c8b2a69453dbc3065b return optional; } else { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a654e000b7f9b62b8bbf57874d6d383f71ff3f82..8e86794cdd8387e83208c5c823a237352d2c2934 100644 +index 9edb1fb5f1609e7e95245a4b946220a29dcb06b3..d4e0a2bbf07dae404b510923a401444af4f40430 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -27,6 +27,8 @@ import java.util.UUID; @@ -121,7 +121,7 @@ index a654e000b7f9b62b8bbf57874d6d383f71ff3f82..8e86794cdd8387e83208c5c823a23735 // Save player file again if they were disconnected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index dfce80a9e4736f8545d20713ebd4d4d0fd377a10..deaba5f2c0f684451d9cac5d1eb73fe7bcc36210 100644 +index 72268f148a9d676975fa881fa94757ca96e39d82..f560f0b91818d8c41c6842a241699fe5f3163818 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -242,7 +242,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0054-Appleskin-Protocol.patch b/patches/server/0052-Appleskin-Protocol.patch similarity index 97% rename from patches/server/0054-Appleskin-Protocol.patch rename to patches/server/0052-Appleskin-Protocol.patch index 908ce27d..ca01de73 100644 --- a/patches/server/0054-Appleskin-Protocol.patch +++ b/patches/server/0052-Appleskin-Protocol.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Appleskin Protocol diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9e68a0da8be6483319e070d4641eab85c75a38a1..532611ad19401717bf28f6aac7c88f5769ed563a 100644 +index 8150ac9c98a30afff5fc04fdec8af6d340c4b9f5..c748b29bf2d4382215bffd41854f70fd15f9411e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1603,6 +1603,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> registeredFeatures = new HashMap<>(); ++ private static final Map> registeredPackets = new HashMap<>(); + + @Contract("_ -> new") + public static @NotNull ResourceLocation id(String path) { @@ -104,11 +105,17 @@ index 0000000000000000000000000000000000000000..54553afa6a6a81d29bcbc6b502ce2d93 + registeredFeatures.put(name, consumer); + } + ++ public static void registerPacket(ResourceLocation id, BiConsumer consumer) { ++ registeredPackets.put(id, consumer); ++ } ++ + public static void handlePacket(ServerPlayer player, @NotNull ServerboundCustomPayloadPacket packet) { + if (packet.identifier.equals(HELLO_ID)) { + handleHello(player, packet.data); + } else if (packet.identifier.equals(FEATURE_MODIFY_ID)) { + handleModify(player, packet.data); ++ } else if (registeredPackets.containsKey(packet.identifier)) { ++ registeredPackets.get(packet.identifier).accept(player, packet.data); + } + } + diff --git a/patches/server/0081-Lava-riptide.patch b/patches/server/0079-Lava-riptide.patch similarity index 100% rename from patches/server/0081-Lava-riptide.patch rename to patches/server/0079-Lava-riptide.patch diff --git a/patches/server/0082-No-block-update-command.patch b/patches/server/0080-No-block-update-command.patch similarity index 99% rename from patches/server/0082-No-block-update-command.patch rename to patches/server/0080-No-block-update-command.patch index c9de2fae..cc9b71f6 100644 --- a/patches/server/0082-No-block-update-command.patch +++ b/patches/server/0080-No-block-update-command.patch @@ -92,7 +92,7 @@ index 2708251ebc1995e71fb0e5dca9e158a3005f8a8a..e28351b379677fec356b6efec2d882ee } } diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index 7641ecc09a9795d48049731f1f0f0013981fcae1..d23c064a51ac115e7269e80623b4e5bd23a8222f 100644 +index ee079956d675a51a18b1ad3382d0b70ad19a4b8e..d3844b3cd255333b1a65aff34e4ccd23e4abfaaa 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -11,6 +11,7 @@ import org.bukkit.configuration.file.YamlConfiguration; diff --git a/patches/server/0083-Raider-die-skip-self-raid-check.patch b/patches/server/0081-Raider-die-skip-self-raid-check.patch similarity index 100% rename from patches/server/0083-Raider-die-skip-self-raid-check.patch rename to patches/server/0081-Raider-die-skip-self-raid-check.patch diff --git a/patches/server/0084-Container-open-passthrough.patch b/patches/server/0082-Container-open-passthrough.patch similarity index 100% rename from patches/server/0084-Container-open-passthrough.patch rename to patches/server/0082-Container-open-passthrough.patch diff --git a/patches/server/0083-Use-fast-item-merge-raytracing.patch b/patches/server/0083-Use-fast-item-merge-raytracing.patch new file mode 100644 index 00000000..935b55db --- /dev/null +++ b/patches/server/0083-Use-fast-item-merge-raytracing.patch @@ -0,0 +1,26 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: violetc <58360096+s-yh-china@users.noreply.github.com> +Date: Mon, 17 Jul 2023 22:27:12 +0800 +Subject: [PATCH] Use fast item merge raytracing + +This patch is Powered by Gale(https://github.com/GaleMC/Gale) + +diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +index ef6c0e51f2f971f30fce36b5502daa5b5bbf1b26..b2574d8ad26a0b3ef991a557d5865d38dd7a77fc 100644 +--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java ++++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +@@ -285,9 +285,11 @@ public class ItemEntity extends Entity implements TraceableEntity { + + if (entityitem.isMergable()) { + // Paper start - Fix items merging through walls +- if (this.level().clipDirect(this.position(), entityitem.position(), +- net.minecraft.world.phys.shapes.CollisionContext.of(this)) == net.minecraft.world.phys.HitResult.Type.BLOCK) { +- continue; ++ if (this.level().paperConfig().fixes.fixItemsMergingThroughWalls) { // Leaves - just fix config ++ if (this.level().clipDirect(this.position(), entityitem.position(), ++ net.minecraft.world.phys.shapes.CollisionContext.of(this)) == net.minecraft.world.phys.HitResult.Type.BLOCK) { ++ continue; ++ } + } + // Paper end - Fix items merging through walls + this.tryToMerge(entityitem); diff --git a/patches/server/0086-SIMD-support.patch b/patches/server/0084-SIMD-support.patch similarity index 100% rename from patches/server/0086-SIMD-support.patch rename to patches/server/0084-SIMD-support.patch diff --git a/patches/server/0087-Dont-respond-ping-before-start-fully.patch b/patches/server/0085-Dont-respond-ping-before-start-fully.patch similarity index 100% rename from patches/server/0087-Dont-respond-ping-before-start-fully.patch rename to patches/server/0085-Dont-respond-ping-before-start-fully.patch diff --git a/patches/server/0085-Use-fast-item-merge-raytracing.patch b/patches/server/0085-Use-fast-item-merge-raytracing.patch deleted file mode 100644 index cd7f6642..00000000 --- a/patches/server/0085-Use-fast-item-merge-raytracing.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: violetc <58360096+s-yh-china@users.noreply.github.com> -Date: Mon, 17 Jul 2023 22:27:12 +0800 -Subject: [PATCH] Use fast item merge raytracing - -This patch is Powered by Gale(https://github.com/GaleMC/Gale) - -diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 1234310bf4b981039135c865296e6d94052d81e2..c72e73ee5878651f48a0513e03dc7903386d6eb5 100644 ---- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -286,10 +286,17 @@ public class ItemEntity extends Entity implements TraceableEntity { - if (entityitem.isMergable()) { - // Paper Start - Fix items merging through walls - if (this.level().paperConfig().fixes.fixItemsMergingThroughWalls) { -- net.minecraft.world.level.ClipContext rayTrace = new net.minecraft.world.level.ClipContext(this.position(), entityitem.position(), -- net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, this); -- net.minecraft.world.phys.BlockHitResult rayTraceResult = this.level().clip(rayTrace); -- if (rayTraceResult.getType() == net.minecraft.world.phys.HitResult.Type.BLOCK) continue; -+ // Leaves start - use fast item merge raytracing -+ if (!top.leavesmc.leaves.LeavesConfig.useFastItemMergeRaytracing) { -+ net.minecraft.world.level.ClipContext rayTrace = new net.minecraft.world.level.ClipContext(this.position(), entityitem.position(), -+ net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, this); -+ net.minecraft.world.phys.BlockHitResult rayTraceResult = this.level().clip(rayTrace); -+ if (rayTraceResult.getType() == net.minecraft.world.phys.HitResult.Type.BLOCK) continue; -+ } else { -+ if (level().rayTraceDirect(this.position(), entityitem.position(), net.minecraft.world.phys.shapes.CollisionContext.of(this)) == -+ net.minecraft.world.phys.HitResult.Type.BLOCK) continue; -+ } -+ // Leaves end - use fast item merge raytracing - } - // Paper End - this.tryToMerge(entityitem); diff --git a/patches/server/0088-Faster-chunk-serialization.patch b/patches/server/0086-Faster-chunk-serialization.patch similarity index 100% rename from patches/server/0088-Faster-chunk-serialization.patch rename to patches/server/0086-Faster-chunk-serialization.patch diff --git a/patches/server/0089-Optimize-world-generation-chunk-and-block-access.patch b/patches/server/0087-Optimize-world-generation-chunk-and-block-access.patch similarity index 100% rename from patches/server/0089-Optimize-world-generation-chunk-and-block-access.patch rename to patches/server/0087-Optimize-world-generation-chunk-and-block-access.patch diff --git a/patches/server/0090-Cache-world-generator-sea-level.patch b/patches/server/0088-Cache-world-generator-sea-level.patch similarity index 100% rename from patches/server/0090-Cache-world-generator-sea-level.patch rename to patches/server/0088-Cache-world-generator-sea-level.patch diff --git a/patches/server/0091-Skip-secondary-POI-sensor-if-absent.patch b/patches/server/0089-Skip-secondary-POI-sensor-if-absent.patch similarity index 100% rename from patches/server/0091-Skip-secondary-POI-sensor-if-absent.patch rename to patches/server/0089-Skip-secondary-POI-sensor-if-absent.patch diff --git a/patches/server/0092-Cache-CubeVoxelShape-shape-array.patch b/patches/server/0090-Cache-CubeVoxelShape-shape-array.patch similarity index 100% rename from patches/server/0092-Cache-CubeVoxelShape-shape-array.patch rename to patches/server/0090-Cache-CubeVoxelShape-shape-array.patch diff --git a/patches/server/0093-Store-mob-counts-in-an-array.patch b/patches/server/0091-Store-mob-counts-in-an-array.patch similarity index 100% rename from patches/server/0093-Store-mob-counts-in-an-array.patch rename to patches/server/0091-Store-mob-counts-in-an-array.patch diff --git a/patches/server/0094-Cache-BlockStatePairKey-hash.patch b/patches/server/0092-Cache-BlockStatePairKey-hash.patch similarity index 100% rename from patches/server/0094-Cache-BlockStatePairKey-hash.patch rename to patches/server/0092-Cache-BlockStatePairKey-hash.patch diff --git a/patches/server/0095-Optimize-noise-generation.patch b/patches/server/0093-Optimize-noise-generation.patch similarity index 100% rename from patches/server/0095-Optimize-noise-generation.patch rename to patches/server/0093-Optimize-noise-generation.patch diff --git a/patches/server/0096-Disable-packet-limit.patch b/patches/server/0094-Disable-packet-limit.patch similarity index 100% rename from patches/server/0096-Disable-packet-limit.patch rename to patches/server/0094-Disable-packet-limit.patch diff --git a/patches/server/0097-Reduce-array-allocations.patch b/patches/server/0095-Reduce-array-allocations.patch similarity index 99% rename from patches/server/0097-Reduce-array-allocations.patch rename to patches/server/0095-Reduce-array-allocations.patch index 8f52d5a0..4d9e67d4 100644 --- a/patches/server/0097-Reduce-array-allocations.patch +++ b/patches/server/0095-Reduce-array-allocations.patch @@ -346,7 +346,7 @@ index 2ff578e4a953ffcf5176815ba8e3f06f73499989..bf082b9c3947d6037328526e5bfafe2b final String s; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index bf0d945a6faa6346276e7a9bdd16dd1964bf03a4..7c4dc9c1809ed2e4d62ec7b795f7cdf3178a99ca 100644 +index a1629559dc62adbd8918727bde2a65574d26f3ac..70b201502a5ee4fca3da2cd2658b42ece0b3211e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -134,6 +134,7 @@ import org.bukkit.event.player.PlayerRespawnEvent.RespawnReason; @@ -416,7 +416,7 @@ index 97ff19efa0b3943ccb7a6e02cba6ed2fea61adac..b8995b0af34a1d790f48aa8e1090d204 private EquipmentSlot(EquipmentSlot.Type type, int entityId, int armorStandId, String name) { this.type = type; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index deaba5f2c0f684451d9cac5d1eb73fe7bcc36210..94179dafe22403b4aaa6adcff879b459a073ad09 100644 +index f560f0b91818d8c41c6842a241699fe5f3163818..8feb08d1debe98234e084be05f7bff5496cdc6e1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3105,7 +3105,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -533,7 +533,7 @@ index 2bfbdaeb2b0d99dfd956cd5936403fe8b0eeae64..7ad1545631604aa55f6d4fbdcbaefe6d public Enchantments() {} diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a1fe9dfda59e65b849955dd04a439cb928488373..772300d2cb8174ea79cacfda90e64bc0581b603a 100644 +index fdb171a28f73f6a0fae5aba669014edd4fee83b8..47ccf2ef6fb6fd05d6be5457a7ecde0faa99aeb7 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -104,6 +104,7 @@ import org.bukkit.entity.SpawnCategory; @@ -544,7 +544,7 @@ index a1fe9dfda59e65b849955dd04a439cb928488373..772300d2cb8174ea79cacfda90e64bc0 public abstract class Level implements LevelAccessor, AutoCloseable { -@@ -1531,7 +1532,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1530,7 +1531,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public org.bukkit.entity.Entity[] getChunkEntities(int chunkX, int chunkZ) { io.papermc.paper.world.ChunkEntitySlices slices = ((ServerLevel)this).getEntityLookup().getChunk(chunkX, chunkZ); if (slices == null) { diff --git a/patches/server/0098-Optimize-sun-burn-tick.patch b/patches/server/0096-Optimize-sun-burn-tick.patch similarity index 100% rename from patches/server/0098-Optimize-sun-burn-tick.patch rename to patches/server/0096-Optimize-sun-burn-tick.patch diff --git a/patches/server/0099-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch b/patches/server/0097-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch similarity index 100% rename from patches/server/0099-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch rename to patches/server/0097-Reduce-lambda-and-Optional-allocation-in-EntityBased.patch diff --git a/patches/server/0100-Use-optimized-collection.patch b/patches/server/0098-Use-optimized-collection.patch similarity index 99% rename from patches/server/0100-Use-optimized-collection.patch rename to patches/server/0098-Use-optimized-collection.patch index aac644f2..314c3b22 100644 --- a/patches/server/0100-Use-optimized-collection.patch +++ b/patches/server/0098-Use-optimized-collection.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use optimized collection This patch is Powered by Gale(https://github.com/GaleMC/Gale) diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 9969afdcd826db2c53db1d54f6e3df69a59a486e..0e0a987bf1baff5b0f907a3c0b4dfa444de6ba12 100644 +index ce4388a1464bb6c90ca4b6757159085dea844e87..7d0a532921ef6b18da235cbea3437ae554221c5c 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -295,7 +295,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0101-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch b/patches/server/0099-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch similarity index 100% rename from patches/server/0101-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch rename to patches/server/0099-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch diff --git a/patches/server/0102-Optimized-CubePointRange.patch b/patches/server/0100-Optimized-CubePointRange.patch similarity index 100% rename from patches/server/0102-Optimized-CubePointRange.patch rename to patches/server/0100-Optimized-CubePointRange.patch diff --git a/patches/server/0103-Check-frozen-ticks-before-landing-block.patch b/patches/server/0101-Check-frozen-ticks-before-landing-block.patch similarity index 93% rename from patches/server/0103-Check-frozen-ticks-before-landing-block.patch rename to patches/server/0101-Check-frozen-ticks-before-landing-block.patch index 2727296e..75cfbe93 100644 --- a/patches/server/0103-Check-frozen-ticks-before-landing-block.patch +++ b/patches/server/0101-Check-frozen-ticks-before-landing-block.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Check frozen ticks before landing block This patch is Powered by Gale(https://github.com/GaleMC/Gale) diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 94179dafe22403b4aaa6adcff879b459a073ad09..a930062bd4a43df7f74d92ab8a178f13528204d8 100644 +index 8feb08d1debe98234e084be05f7bff5496cdc6e1..106e515a56937504dac7343defa7c9d1b39ac10a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -583,11 +583,11 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0104-Cache-ominous-banner-item.patch b/patches/server/0102-Cache-ominous-banner-item.patch similarity index 100% rename from patches/server/0104-Cache-ominous-banner-item.patch rename to patches/server/0102-Cache-ominous-banner-item.patch diff --git a/patches/server/0105-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0103-Skip-entity-move-if-movement-is-zero.patch similarity index 100% rename from patches/server/0105-Skip-entity-move-if-movement-is-zero.patch rename to patches/server/0103-Skip-entity-move-if-movement-is-zero.patch diff --git a/patches/server/0106-Skip-cloning-advancement-criteria.patch b/patches/server/0104-Skip-cloning-advancement-criteria.patch similarity index 100% rename from patches/server/0106-Skip-cloning-advancement-criteria.patch rename to patches/server/0104-Skip-cloning-advancement-criteria.patch diff --git a/patches/server/0107-Skip-unnecessary-mob-spawning-computations.patch b/patches/server/0105-Skip-unnecessary-mob-spawning-computations.patch similarity index 100% rename from patches/server/0107-Skip-unnecessary-mob-spawning-computations.patch rename to patches/server/0105-Skip-unnecessary-mob-spawning-computations.patch diff --git a/patches/server/0108-Skip-negligible-planar-movement-multiplication.patch b/patches/server/0106-Skip-negligible-planar-movement-multiplication.patch similarity index 100% rename from patches/server/0108-Skip-negligible-planar-movement-multiplication.patch rename to patches/server/0106-Skip-negligible-planar-movement-multiplication.patch diff --git a/patches/server/0109-Fix-villagers-dont-release-memory.patch b/patches/server/0107-Fix-villagers-dont-release-memory.patch similarity index 100% rename from patches/server/0109-Fix-villagers-dont-release-memory.patch rename to patches/server/0107-Fix-villagers-dont-release-memory.patch diff --git a/patches/server/0110-Avoid-anvil-too-expensive.patch b/patches/server/0108-Avoid-anvil-too-expensive.patch similarity index 100% rename from patches/server/0110-Avoid-anvil-too-expensive.patch rename to patches/server/0108-Avoid-anvil-too-expensive.patch diff --git a/patches/server/0111-Bow-infinity-fix.patch b/patches/server/0109-Bow-infinity-fix.patch similarity index 100% rename from patches/server/0111-Bow-infinity-fix.patch rename to patches/server/0109-Bow-infinity-fix.patch diff --git a/patches/server/0112-Zero-tick-plants.patch b/patches/server/0110-Zero-tick-plants.patch similarity index 100% rename from patches/server/0112-Zero-tick-plants.patch rename to patches/server/0110-Zero-tick-plants.patch diff --git a/patches/server/0113-Leaves-update-command.patch b/patches/server/0111-Leaves-update-command.patch similarity index 100% rename from patches/server/0113-Leaves-update-command.patch rename to patches/server/0111-Leaves-update-command.patch diff --git a/patches/server/0114-Force-peaceful-mode-switch.patch b/patches/server/0112-Force-peaceful-mode-switch.patch similarity index 100% rename from patches/server/0114-Force-peaceful-mode-switch.patch rename to patches/server/0112-Force-peaceful-mode-switch.patch diff --git a/patches/server/0115-Add-Leaves-Auto-Update.patch b/patches/server/0113-Add-Leaves-Auto-Update.patch similarity index 98% rename from patches/server/0115-Add-Leaves-Auto-Update.patch rename to patches/server/0113-Add-Leaves-Auto-Update.patch index 0e451de8..446e64bc 100644 --- a/patches/server/0115-Add-Leaves-Auto-Update.patch +++ b/patches/server/0113-Add-Leaves-Auto-Update.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Leaves Auto Update diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index 63ddd86a124b27e128dbf1cef60eab1b4750e251..6fa8261ba02df4571a533c70eb83eed676169c10 100644 +index d3844b3cd255333b1a65aff34e4ccd23e4abfaaa..7e55d5d0029ebb64fdf7e3a524da0eadf8651b8e 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -14,6 +14,7 @@ import top.leavesmc.leaves.bot.agent.Actions; diff --git a/patches/server/0116-Replay-Mod-API.patch b/patches/server/0114-Replay-Mod-API.patch similarity index 99% rename from patches/server/0116-Replay-Mod-API.patch rename to patches/server/0114-Replay-Mod-API.patch index bff048cc..eea8b2cb 100644 --- a/patches/server/0116-Replay-Mod-API.patch +++ b/patches/server/0114-Replay-Mod-API.patch @@ -115,7 +115,7 @@ index fd9e85dab7c511873824cac56a270ff435792292..257e51570ed08660613895f5a1eccbee } // Leaves end - bot can't get advancement diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7c4dc9c1809ed2e4d62ec7b795f7cdf3178a99ca..f76142b61dc44ebf6312a3027fa9b66ff2a37653 100644 +index 70b201502a5ee4fca3da2cd2658b42ece0b3211e..383ed8f9962ea4b9c00aa3c8c4d877e42dd8ac16 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -136,6 +136,7 @@ import org.bukkit.event.player.PlayerSpawnChangeEvent; diff --git a/patches/server/0117-Leaves-tick-command.patch b/patches/server/0115-Leaves-tick-command.patch similarity index 99% rename from patches/server/0117-Leaves-tick-command.patch rename to patches/server/0115-Leaves-tick-command.patch index 0ca8ce2c..1fc0079b 100644 --- a/patches/server/0117-Leaves-tick-command.patch +++ b/patches/server/0115-Leaves-tick-command.patch @@ -109,7 +109,7 @@ index d47e29850462356e843591deba7e8a83f59faba0..5f61f4861254fb05f069f8e95a3e84c4 ReportedException reportedexception = null; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 65da7505cee10a73616b19a6884dd9f723564c3a..95770bf46288d07b04a9bff67c7f74f7092eeb1e 100644 +index 2da9ce7472dc06083959b6da540570eac6245756..11f83f29e078b8f96c52d9d4d7c0c25b6e980155 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2742,7 +2742,7 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0118-Fix-vehicle-teleport-by-end-gateway.patch b/patches/server/0116-Fix-vehicle-teleport-by-end-gateway.patch similarity index 100% rename from patches/server/0118-Fix-vehicle-teleport-by-end-gateway.patch rename to patches/server/0116-Fix-vehicle-teleport-by-end-gateway.patch diff --git a/patches/server/0119-Leaves-I18n.patch b/patches/server/0117-Leaves-I18n.patch similarity index 100% rename from patches/server/0119-Leaves-I18n.patch rename to patches/server/0117-Leaves-I18n.patch diff --git a/patches/server/0120-Fix-minecraft-hopper-not-work-without-player.patch b/patches/server/0118-Fix-minecraft-hopper-not-work-without-player.patch similarity index 100% rename from patches/server/0120-Fix-minecraft-hopper-not-work-without-player.patch rename to patches/server/0118-Fix-minecraft-hopper-not-work-without-player.patch diff --git a/patches/server/0121-Delete-Timings.patch b/patches/server/0119-Delete-Timings.patch similarity index 99% rename from patches/server/0121-Delete-Timings.patch rename to patches/server/0119-Delete-Timings.patch index 7cb513d5..d886999e 100644 --- a/patches/server/0121-Delete-Timings.patch +++ b/patches/server/0119-Delete-Timings.patch @@ -1767,7 +1767,7 @@ index 9afc81ccb237c3655d64cdbe8a0db9a4d7791043..2d2e69c5bf7439009d7108a8e651ee30 return this != EntityType.PLAYER && this != EntityType.LLAMA_SPIT && this != EntityType.WITHER && this != EntityType.BAT && this != EntityType.ITEM_FRAME && this != EntityType.GLOW_ITEM_FRAME && this != EntityType.LEASH_KNOT && this != EntityType.PAINTING && this != EntityType.END_CRYSTAL && this != EntityType.EVOKER_FANGS; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a930062bd4a43df7f74d92ab8a178f13528204d8..1a705a4d8c0cdac6c21bf338f88e57570b142fc9 100644 +index 106e515a56937504dac7343defa7c9d1b39ac10a..48a53959f8bdca3a9355e24096aab61608f61da9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -1854,7 +1854,7 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..b68c69a7ab71926ecf478d8daa5ec5ac } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 772300d2cb8174ea79cacfda90e64bc0581b603a..7b6cd06998d70cc1b5f80eca12d123d51958bc7b 100644 +index 47ccf2ef6fb6fd05d6be5457a7ecde0faa99aeb7..f1f0bcaf552bce80fcb793f1e2bb6dec71a0ede8 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1,10 +1,7 @@ @@ -1927,7 +1927,7 @@ index 772300d2cb8174ea79cacfda90e64bc0581b603a..7b6cd06998d70cc1b5f80eca12d123d5 this.keepSpawnInMemory = this.paperConfig().spawn.keepSpawnLoaded; // Paper this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime); this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); -@@ -970,15 +958,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -969,15 +957,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { ProfilerFiller gameprofilerfiller = this.getProfiler(); gameprofilerfiller.push("blockEntities"); @@ -1943,7 +1943,7 @@ index 772300d2cb8174ea79cacfda90e64bc0581b603a..7b6cd06998d70cc1b5f80eca12d123d5 // Spigot start // Iterator iterator = this.blockEntityTickers.iterator(); int tilesThisCycle = 0; -@@ -1011,9 +996,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1010,9 +995,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } this.blockEntityTickers.removeAll(toRemove); diff --git a/patches/server/0122-Wool-Hopper-Counter.patch b/patches/server/0120-Wool-Hopper-Counter.patch similarity index 100% rename from patches/server/0122-Wool-Hopper-Counter.patch rename to patches/server/0120-Wool-Hopper-Counter.patch diff --git a/patches/server/0123-Loot-world-random.patch b/patches/server/0121-Loot-world-random.patch similarity index 100% rename from patches/server/0123-Loot-world-random.patch rename to patches/server/0121-Loot-world-random.patch diff --git a/patches/server/0124-Leaves-Reload-Command.patch b/patches/server/0122-Leaves-Reload-Command.patch similarity index 100% rename from patches/server/0124-Leaves-Reload-Command.patch rename to patches/server/0122-Leaves-Reload-Command.patch diff --git a/patches/server/0125-Spider-jockeys-drop-gapples.patch b/patches/server/0123-Spider-jockeys-drop-gapples.patch similarity index 100% rename from patches/server/0125-Spider-jockeys-drop-gapples.patch rename to patches/server/0123-Spider-jockeys-drop-gapples.patch