diff --git a/gradle.properties b/gradle.properties index 21b2530..b4c26ac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = me.earthme.luminol version=1.21.5-R0.1-SNAPSHOT mcVersion=1.21.5 -foliaRef=3aba0068ded3f23bf8fa5cac6c70cb48f1d70478 +foliaRef=77316d48f7d96ed7812cf36036fb85d790d20e6e org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/luminol-api/paper-patches/features/0010-Add-missing-teleportation-apis-for-folia.patch b/luminol-api/paper-patches/features/0009-Add-missing-teleportation-apis-for-folia.patch similarity index 100% rename from luminol-api/paper-patches/features/0010-Add-missing-teleportation-apis-for-folia.patch rename to luminol-api/paper-patches/features/0009-Add-missing-teleportation-apis-for-folia.patch diff --git a/luminol-api/paper-patches/features/0009-Purpur-Lobotomize-stuck-villagers.patch b/luminol-api/paper-patches/features/0010-Purpur-Lobotomize-stuck-villagers.patch similarity index 61% rename from luminol-api/paper-patches/features/0009-Purpur-Lobotomize-stuck-villagers.patch rename to luminol-api/paper-patches/features/0010-Purpur-Lobotomize-stuck-villagers.patch index 2a556fe..601e409 100644 --- a/luminol-api/paper-patches/features/0009-Purpur-Lobotomize-stuck-villagers.patch +++ b/luminol-api/paper-patches/features/0010-Purpur-Lobotomize-stuck-villagers.patch @@ -1,17 +1,17 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MrHua269 -Date: Thu, 30 Jan 2025 09:29:03 +0800 +From: MrHua269 +Date: Thu, 12 Jun 2025 08:00:15 +0800 Subject: [PATCH] Purpur Lobotomize stuck villagers diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java -index 02b86d9615f8150b13ff0beefd5ca502c0494f99..3a444609ea9fdeee9057d593fbd4d38cc9e1ad68 100644 +index 4d88bb2eaa43709fb6103a6f77d8c01e83bfe743..60b87d52c20cec947b196f47fc333bc643accbd2 100644 --- a/src/main/java/org/bukkit/entity/Villager.java +++ b/src/main/java/org/bukkit/entity/Villager.java -@@ -391,4 +391,13 @@ public interface Villager extends AbstractVillager { - * reputation regardless of its impact and the player associated. +@@ -408,4 +408,13 @@ public interface Villager extends AbstractVillager { + * Demand is still updated even if all events are canceled. */ - public void clearReputations(); + public void restock(); + // Purpur start + + /** diff --git a/luminol-server/minecraft-patches/features/0017-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch b/luminol-server/minecraft-patches/features/0017-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch index 0b69dc4..dcb01d3 100644 --- a/luminol-server/minecraft-patches/features/0017-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch +++ b/luminol-server/minecraft-patches/features/0017-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch @@ -187,10 +187,10 @@ index bfd904e468bbf2cc1a5b3353d3a69ad5087c81ae..116933975ac975bb5a801be81e1c0e9b + // KioCG end } diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index b5838a0320c729778f27f0d6a623eed4ef7c3a52..9122a78d08863cbc7321b7f7f2b6614e70dca846 100644 +index 99301832bbb90f4ab00963f9062c54e829cc813b..46359300e533221cdc2d8aff9f9b98afe593c92b 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -5957,4 +5957,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5961,4 +5961,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return ((ServerLevel) this.level()).isPositionEntityTicking(this.blockPosition()); } // Paper end - Expose entity id counter diff --git a/luminol-server/minecraft-patches/features/0018-Add-missing-teleportation-apis-for-folia.patch b/luminol-server/minecraft-patches/features/0018-Add-missing-teleportation-apis-for-folia.patch index 54cbee3..f6dd2c5 100644 --- a/luminol-server/minecraft-patches/features/0018-Add-missing-teleportation-apis-for-folia.patch +++ b/luminol-server/minecraft-patches/features/0018-Add-missing-teleportation-apis-for-folia.patch @@ -19,10 +19,10 @@ index ec4047312cf17f3ba91348ac8d71f747202bef87..56d00caf9db21798fdcbd6ec2cd84a84 ); }); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index b5838a0320c729778f27f0d6a623eed4ef7c3a52..18b04e13d0347935888b3f01fe35a39aeb49d94a 100644 +index 46359300e533221cdc2d8aff9f9b98afe593c92b..cb347fe9e2876f3b26f004785c882f5faef560d7 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -4108,6 +4108,31 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4112,6 +4112,31 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // TODO any events that can modify go HERE @@ -54,7 +54,7 @@ index b5838a0320c729778f27f0d6a623eed4ef7c3a52..18b04e13d0347935888b3f01fe35a39a // check for same region if (destination == this.level()) { -@@ -4224,7 +4249,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4228,7 +4253,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // we just select the spawn position case END: { if (destination.getTypeKey() == net.minecraft.world.level.dimension.LevelStem.END) { @@ -74,7 +74,7 @@ index b5838a0320c729778f27f0d6a623eed4ef7c3a52..18b04e13d0347935888b3f01fe35a39a // need to load chunks so we can create the platform destination.moonrise$loadChunksAsync( targetPos, 16, // load 16 blocks to be safe from block physics -@@ -4245,7 +4281,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4249,7 +4285,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } ); } else { @@ -94,7 +94,7 @@ index b5838a0320c729778f27f0d6a623eed4ef7c3a52..18b04e13d0347935888b3f01fe35a39a // need to load chunk for heightmap destination.moonrise$loadChunksAsync( spawnPos, 0, -@@ -4296,8 +4343,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4300,8 +4347,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess WorldBorder destinationBorder = destination.getWorldBorder(); double dimensionScale = net.minecraft.world.level.dimension.DimensionType.getTeleportationScale(origin.dimensionType(), destination.dimensionType()); @@ -114,7 +114,7 @@ index b5838a0320c729778f27f0d6a623eed4ef7c3a52..18b04e13d0347935888b3f01fe35a39a ca.spottedleaf.concurrentutil.completable.CallbackCompletable portalFound = new ca.spottedleaf.concurrentutil.completable.CallbackCompletable<>(); -@@ -4434,6 +4491,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4438,6 +4495,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (!this.canPortalAsync(destination, takePassengers)) { return false; } @@ -130,7 +130,7 @@ index b5838a0320c729778f27f0d6a623eed4ef7c3a52..18b04e13d0347935888b3f01fe35a39a Vec3 initialPosition = this.position(); ChunkPos initialPositionChunk = new ChunkPos( -@@ -4501,6 +4567,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4505,6 +4571,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (teleportComplete != null) { teleportComplete.accept(teleported); } diff --git a/luminol-server/minecraft-patches/features/0021-Gale-Skip-entity-move-if-movement-is-zero.patch b/luminol-server/minecraft-patches/features/0021-Gale-Skip-entity-move-if-movement-is-zero.patch index 9843af2..3b750bf 100644 --- a/luminol-server/minecraft-patches/features/0021-Gale-Skip-entity-move-if-movement-is-zero.patch +++ b/luminol-server/minecraft-patches/features/0021-Gale-Skip-entity-move-if-movement-is-zero.patch @@ -10,10 +10,10 @@ VMP (https://github.com/RelativityMC/VMP-fabric) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 18b04e13d0347935888b3f01fe35a39aeb49d94a..97ef9c15618168a9b4f169a03f15d4e3e326f4f6 100644 +index cb347fe9e2876f3b26f004785c882f5faef560d7..95fd1fc621a01d4a2a97e78f471a1d1a599db612 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -1081,7 +1081,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1085,7 +1085,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess private double moveStartZ; // Paper end - detailed watchdog information @@ -28,7 +28,7 @@ index 18b04e13d0347935888b3f01fe35a39aeb49d94a..97ef9c15618168a9b4f169a03f15d4e3 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"); -@@ -5048,6 +5055,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5052,6 +5059,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public final void setBoundingBox(AABB bb) { diff --git a/luminol-server/minecraft-patches/features/0035-Kaiiju-Vanilla-end-portal-teleportation.patch b/luminol-server/minecraft-patches/features/0035-Kaiiju-Vanilla-end-portal-teleportation.patch index 93020a1..decdd68 100644 --- a/luminol-server/minecraft-patches/features/0035-Kaiiju-Vanilla-end-portal-teleportation.patch +++ b/luminol-server/minecraft-patches/features/0035-Kaiiju-Vanilla-end-portal-teleportation.patch @@ -8,10 +8,10 @@ As part of: Kaiiju (https://github.com/KaiijuMC/Kaiiju/blob/c2b7aec8f7b418a39a2e Licensed under: GPL-3.0 (https://github.com/KaiijuMC/Kaiiju/blob/c2b7aec8f7b418a39a2ec408e6411e6f752379da/LICENSE) diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 97ef9c15618168a9b4f169a03f15d4e3e326f4f6..96790ead67c29013302341422fd23d2cefd720bf 100644 +index 95fd1fc621a01d4a2a97e78f471a1d1a599db612..75b5856b892272aaa70616c35dea75ba3ac76058 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -4273,14 +4273,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4277,14 +4277,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess targetPos, 16, // load 16 blocks to be safe from block physics ca.spottedleaf.concurrentutil.util.Priority.HIGH, (chunks) -> { @@ -34,7 +34,7 @@ index 97ef9c15618168a9b4f169a03f15d4e3e326f4f6..96790ead67c29013302341422fd23d2c TeleportTransition.PLAY_PORTAL_SOUND.then(TeleportTransition.PLACE_PORTAL_TICKET), org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.END_PORTAL ) -@@ -4306,11 +4310,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4310,11 +4314,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess ca.spottedleaf.concurrentutil.util.Priority.HIGH, (chunks) -> { BlockPos adjustedSpawn = destination.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, spawnPos); @@ -52,7 +52,7 @@ index 97ef9c15618168a9b4f169a03f15d4e3e326f4f6..96790ead67c29013302341422fd23d2c Relative.union(Relative.DELTA, Relative.ROTATION), TeleportTransition.PLAY_PORTAL_SOUND.then(TeleportTransition.PLACE_PORTAL_TICKET), org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.END_PORTAL -@@ -4507,6 +4515,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4511,6 +4519,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return false; } // Luminol end @@ -63,7 +63,7 @@ index 97ef9c15618168a9b4f169a03f15d4e3e326f4f6..96790ead67c29013302341422fd23d2c Vec3 initialPosition = this.position(); ChunkPos initialPositionChunk = new ChunkPos( -@@ -4571,8 +4583,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4575,8 +4587,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess info.postTeleportTransition().onTransition(teleported); } diff --git a/luminol-server/minecraft-patches/features/0050-Fix-entity-portal-teleport-speed.patch b/luminol-server/minecraft-patches/features/0050-Fix-entity-portal-teleport-speed.patch index e94fcbc..c9349d2 100644 --- a/luminol-server/minecraft-patches/features/0050-Fix-entity-portal-teleport-speed.patch +++ b/luminol-server/minecraft-patches/features/0050-Fix-entity-portal-teleport-speed.patch @@ -46,7 +46,7 @@ index 8329bc0cf531a1317ff8e213e948019d28df1eea..84a6bf575902676fc06211562b578064 } else {entity.inactiveTick();} // Paper - EAR 2 profilerFiller.pop(); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 96790ead67c29013302341422fd23d2cefd720bf..416d096cb4dfafeea625e70cdb420669442fdea9 100644 +index 75b5856b892272aaa70616c35dea75ba3ac76058..cf634aa6898ccdb53a34a410266aeecb86c5f0de 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -350,6 +350,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -57,7 +57,7 @@ index 96790ead67c29013302341422fd23d2cefd720bf..416d096cb4dfafeea625e70cdb420669 public void inactiveTick() { } -@@ -3223,6 +3224,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3227,6 +3228,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } else { if (this.portalProcess == null || !this.portalProcess.isSamePortal(portal)) { this.portalProcess = new PortalProcessor(portal, pos.immutable()); diff --git a/luminol-server/minecraft-patches/features/0051-Fix-off-tickregion-sync-teleport.patch b/luminol-server/minecraft-patches/features/0051-Fix-off-tickregion-sync-teleport.patch index 363d007..0f5abb5 100644 --- a/luminol-server/minecraft-patches/features/0051-Fix-off-tickregion-sync-teleport.patch +++ b/luminol-server/minecraft-patches/features/0051-Fix-off-tickregion-sync-teleport.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix off tickregion sync teleport Folis's teleportAsync implementation has some checks missing during the sync teleportation checks, if we are teleport to the edge of the tickregion, it is still asserting that we are in the same tickregion and moved us directly, but there is actually some logics is already touching the stuff out of current tickregion.So we added some new edge checks to the sync teleportation checks which will check the tickregion belonging in a shape of cycle which is in min(entity's bounding box + simulate distance, 6) of radius to fix that issue diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 416d096cb4dfafeea625e70cdb420669442fdea9..dbc8d2729782dd073a03682d4e8c96c4e03ce1e6 100644 +index cf634aa6898ccdb53a34a410266aeecb86c5f0de..4743de5c39ee52bdde1f70e340d547a6cc7f4ead 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -4024,6 +4024,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4028,6 +4028,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.resetStoredPositions(); } @@ -31,7 +31,7 @@ index 416d096cb4dfafeea625e70cdb420669442fdea9..dbc8d2729782dd073a03682d4e8c96c4 protected final void transform(TeleportTransition telpeort) { PositionMoveRotation move = PositionMoveRotation.calculateAbsolute( PositionMoveRotation.of(this), PositionMoveRotation.of(telpeort), telpeort.relatives() -@@ -4146,7 +4161,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4150,7 +4165,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // check for same region if (destination == this.level()) { Vec3 currPos = this.position(); diff --git a/luminol-server/minecraft-patches/features/0053-Teleport-async-if-entity-was-moving-to-another-regio.patch b/luminol-server/minecraft-patches/features/0053-Teleport-async-if-entity-was-moving-to-another-regio.patch index 7f8fa92..34aad85 100644 --- a/luminol-server/minecraft-patches/features/0053-Teleport-async-if-entity-was-moving-to-another-regio.patch +++ b/luminol-server/minecraft-patches/features/0053-Teleport-async-if-entity-was-moving-to-another-regio.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Teleport async if entity was moving to another region at once On folia, entity usually cannot move out of the tickregion, but sometimes it actually does(like some end pearl gun that can shoot an end pearl to the block faraway than 10000 blocks even more). To fix this, we added a temporary fix which teleport these entities to the destination instead running its move logics so that we could ensure anything is under control.But one thing need to consider is that teleportAsync is actually calling halfway of the entity tick and there is still something running when teleportAsync called, which is actually modified the entity in another thread, so there is still need an improvement diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index dbc8d2729782dd073a03682d4e8c96c4e03ce1e6..a33994df200a93d7b9721cbe13d898d96af70844 100644 +index 4743de5c39ee52bdde1f70e340d547a6cc7f4ead..a023cc399fc8bfee7771e5ca6716578f89b7072f 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -1084,6 +1084,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1088,6 +1088,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess private boolean boundingBoxChanged = false; // Gale - VMP - skip entity move if movement is zero @@ -20,7 +20,7 @@ index dbc8d2729782dd073a03682d4e8c96c4e03ce1e6..a33994df200a93d7b9721cbe13d898d9 public void move(MoverType type, Vec3 movement) { // Gale start - VMP - skip entity move if movement is zero if (!this.boundingBoxChanged && movement.equals(Vec3.ZERO)) { -@@ -1099,6 +1103,32 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1103,6 +1107,32 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.moveStartZ = this.getZ(); this.moveVector = movement; } diff --git a/luminol-server/minecraft-patches/features/0056-Paper-Backport-fix-for-MC-296337.patch b/luminol-server/minecraft-patches/features/0056-Paper-Backport-fix-for-MC-296337.patch deleted file mode 100644 index 08759d3..0000000 --- a/luminol-server/minecraft-patches/features/0056-Paper-Backport-fix-for-MC-296337.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MrHua269 -Date: Sun, 8 Jun 2025 22:11:27 +0800 -Subject: [PATCH] Paper Backport fix for MC-296337 - -A part of Paper(https://github.com/PaperMC/Paper) -Diff was taken from : https://github.com/PaperMC/Paper/pull/12619/commits/9d0aef3b61f6e45ccee02ef9830f8402ada8d340 - -Original patch license: GPLv3 (https://github.com/PaperMC/Paper/blob/main/licenses/GPL.md) -Co-authored-by: electronicboy - -diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 14e58b4093b4eafb989f9b1d498579bd25ab6c1e..0814ad6820b08a856f7bd261e96143568e772ac4 100644 ---- a/net/minecraft/world/entity/Entity.java -+++ b/net/minecraft/world/entity/Entity.java -@@ -361,6 +361,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - public final AABB getBoundingBoxAt(double x, double y, double z) { - return this.dimensions.makeBoundingBox(x, y, z); - } -+ // MC-296337 -+ protected void clearMovementsThisTick() { -+ this.movementThisTick.clear(); -+ } -+ // Paper end - // Paper end - // Paper start - rewrite chunk system - private final boolean isHardColliding = this.moonrise$isHardCollidingUncached(); -diff --git a/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index 99617c08cbd989092ba357d8df928786fd04c89a..47490f6152cb1394a448ebc803c973b22da24149 100644 ---- a/net/minecraft/world/entity/vehicle/AbstractMinecart.java -+++ b/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -429,6 +429,7 @@ public abstract class AbstractMinecart extends VehicleEntity { - public void applyEffectsFromBlocks() { - if (!useExperimentalMovement(this.level())) { - this.applyEffectsFromBlocks(this.position(), this.position()); -+ this.clearMovementsThisTick(); // Paper - MC-296337 - } else { - super.applyEffectsFromBlocks(); - } diff --git a/luminol-server/paper-patches/features/0006-Force-disable-builtin-spark-plugin.patch b/luminol-server/paper-patches/features/0005-Force-disable-builtin-spark-plugin.patch similarity index 97% rename from luminol-server/paper-patches/features/0006-Force-disable-builtin-spark-plugin.patch rename to luminol-server/paper-patches/features/0005-Force-disable-builtin-spark-plugin.patch index 98df2bb..4f2772e 100644 --- a/luminol-server/paper-patches/features/0006-Force-disable-builtin-spark-plugin.patch +++ b/luminol-server/paper-patches/features/0005-Force-disable-builtin-spark-plugin.patch @@ -18,7 +18,7 @@ index a0b84535a9d3833d4df692b85b272f145559dd80..c2ba46408b5ad727d7a17f21d47b2898 return; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1091d2747c04166447540b37d86f51fe2591adc8..e0cee79b949fd2a4684bdfe7aa257c2ea96914b0 100644 +index 7c30289ff28c4f0b91597da9c4aa192e7ff559cc..51543cc35e9158c3c083f4082304ecd4da5cf0a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -314,7 +314,7 @@ public final class CraftServer implements Server { diff --git a/luminol-server/paper-patches/features/0007-SparklyPaper-Optimize-canSee-checks.patch b/luminol-server/paper-patches/features/0006-SparklyPaper-Optimize-canSee-checks.patch similarity index 100% rename from luminol-server/paper-patches/features/0007-SparklyPaper-Optimize-canSee-checks.patch rename to luminol-server/paper-patches/features/0006-SparklyPaper-Optimize-canSee-checks.patch diff --git a/luminol-server/paper-patches/features/0008-Leaf-Skip-event-if-no-listeners.patch b/luminol-server/paper-patches/features/0007-Leaf-Skip-event-if-no-listeners.patch similarity index 100% rename from luminol-server/paper-patches/features/0008-Leaf-Skip-event-if-no-listeners.patch rename to luminol-server/paper-patches/features/0007-Leaf-Skip-event-if-no-listeners.patch diff --git a/luminol-server/paper-patches/features/0009-Leaf-Secure-seed-and-matter-seed-command.patch b/luminol-server/paper-patches/features/0008-Leaf-Secure-seed-and-matter-seed-command.patch similarity index 96% rename from luminol-server/paper-patches/features/0009-Leaf-Secure-seed-and-matter-seed-command.patch rename to luminol-server/paper-patches/features/0008-Leaf-Secure-seed-and-matter-seed-command.patch index d040835..2c15153 100644 --- a/luminol-server/paper-patches/features/0009-Leaf-Secure-seed-and-matter-seed-command.patch +++ b/luminol-server/paper-patches/features/0008-Leaf-Secure-seed-and-matter-seed-command.patch @@ -23,7 +23,7 @@ index 631bec0adee5b01bfb931c25195b949eaf2efd27..05d364bcadb137af4e1a8c955643b7dc @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e0cee79b949fd2a4684bdfe7aa257c2ea96914b0..047369190b8d03c5765595ba898da3a5c463a6c0 100644 +index 51543cc35e9158c3c083f4082304ecd4da5cf0a2..e86347245b674b552a8d9e5a109ec8a41999f7ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1392,7 +1392,11 @@ public final class CraftServer implements Server { diff --git a/luminol-server/paper-patches/features/0010-Tick-regions-api.patch b/luminol-server/paper-patches/features/0009-Tick-regions-api.patch similarity index 100% rename from luminol-server/paper-patches/features/0010-Tick-regions-api.patch rename to luminol-server/paper-patches/features/0009-Tick-regions-api.patch diff --git a/luminol-server/paper-patches/features/0011-Leaves-Fix-SculkCatalyst-exp-skip.patch b/luminol-server/paper-patches/features/0010-Leaves-Fix-SculkCatalyst-exp-skip.patch similarity index 100% rename from luminol-server/paper-patches/features/0011-Leaves-Fix-SculkCatalyst-exp-skip.patch rename to luminol-server/paper-patches/features/0010-Leaves-Fix-SculkCatalyst-exp-skip.patch diff --git a/luminol-server/paper-patches/features/0012-Add-BlockPos-transform-to-Position-support.patch b/luminol-server/paper-patches/features/0011-Add-BlockPos-transform-to-Position-support.patch similarity index 100% rename from luminol-server/paper-patches/features/0012-Add-BlockPos-transform-to-Position-support.patch rename to luminol-server/paper-patches/features/0011-Add-BlockPos-transform-to-Position-support.patch diff --git a/luminol-server/paper-patches/features/0005-Purpur-Lobotomize-stuck-villagers.patch b/luminol-server/paper-patches/features/0012-Purpur-Lobotomize-stuck-villagers.patch similarity index 64% rename from luminol-server/paper-patches/features/0005-Purpur-Lobotomize-stuck-villagers.patch rename to luminol-server/paper-patches/features/0012-Purpur-Lobotomize-stuck-villagers.patch index a5dbd63..ab5f3b5 100644 --- a/luminol-server/paper-patches/features/0005-Purpur-Lobotomize-stuck-villagers.patch +++ b/luminol-server/paper-patches/features/0012-Purpur-Lobotomize-stuck-villagers.patch @@ -1,16 +1,16 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MrHua269 -Date: Tue, 11 Feb 2025 12:01:39 +0800 +From: MrHua269 +Date: Thu, 12 Jun 2025 07:59:03 +0800 Subject: [PATCH] Purpur Lobotomize stuck villagers diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index e86f69f75d406b81d9ca32f9cad5e31cb8c55b54..9ca1d60cb7f3e65cdf491bd65c1c0c38cd2c73e8 100644 +index 2ec652c1675a999d7cf157a5a002aba9d58afa0d..49bfeb81bdc998afc4aa55939840ac75397d8530 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -381,4 +381,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { - public void clearReputations() { - getHandle().getGossips().gossips.clear(); +@@ -391,4 +391,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { + public void restock() { + getHandle().restock(); } + + // Purpur start