From 06dc3306f93c965e2be0c05cdbfa2c39695bfa93 Mon Sep 17 00:00:00 2001 From: Helvetica Volubi Date: Wed, 3 Jun 2026 15:06:44 +0800 Subject: [PATCH] Update Luminol --- gradle.properties | 2 +- .../features/0011-Leaves-Item-overstack-util.patch | 6 +++--- .../features/0025-Leaves-BBOR-Protocol.patch | 4 ++-- .../features/0029-Leaves-Wool-Hopper-Counter.patch | 10 +++++----- .../features/0035-Instant-Block-Updater.patch | 6 +++--- ...Do-not-reset-placed-block-on-exception-Do-not.patch | 4 ++-- .../features/0040-Global-Entities-Counter.patch | 6 +++--- ...-null-check-in-RegionizedWorldData-conections.patch | 8 ++++---- .../features/0044-Carpet-features.patch | 10 +++++----- 9 files changed, 28 insertions(+), 28 deletions(-) diff --git a/gradle.properties b/gradle.properties index bdceb89..27f5652 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ weightVersion=2.0.7 release=2 # 0 for skip release, 1 for pre-release, 2 for release -luminolRef=4553d0974982c54663b47c996ae5383371ff2db3 +luminolRef=274f341465b3143c421de2c3110a69da4b68b75b org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch b/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch index 3b8b86c..8358082 100644 --- a/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch +++ b/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch @@ -446,10 +446,10 @@ index 8f80c469c309bf61328c4f98037495f47a38c3c1..b4127d4b4386b98205275a9a0ef8067c } diff --git a/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 53c50d776e5ca66e5903a464d763a7df5b7672be..6cdb59762b5b223a220d420ff99fa9eadc64f3e0 100644 +index 4ae14236535d04713990f5abb3777001071f591c..3d2bf6371d39946576745aa7977cdc0f2ff07036 100644 --- a/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/net/minecraft/world/level/block/entity/HopperBlockEntity.java -@@ -145,7 +145,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -155,7 +155,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen public void setItem(int index, ItemStack stack) { this.unpackLootTable(null); this.getItems().set(index, stack); @@ -458,7 +458,7 @@ index 53c50d776e5ca66e5903a464d763a7df5b7672be..6cdb59762b5b223a220d420ff99fa9ea } @Override -@@ -741,9 +741,9 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -751,9 +751,9 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (item.isEmpty()) { // Spigot start - SPIGOT-6693, SimpleContainer#setItem ItemStack leftover = ItemStack.EMPTY; // Paper - Make hoppers respect inventory max stack size diff --git a/lophine-server/minecraft-patches/features/0025-Leaves-BBOR-Protocol.patch b/lophine-server/minecraft-patches/features/0025-Leaves-BBOR-Protocol.patch index 49af4d0..c25de2e 100644 --- a/lophine-server/minecraft-patches/features/0025-Leaves-BBOR-Protocol.patch +++ b/lophine-server/minecraft-patches/features/0025-Leaves-BBOR-Protocol.patch @@ -8,10 +8,10 @@ As a part of : Leaves (https://github.com/LeavesMC/Leaves) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java -index 435acf0fe5e80ca371d1145befc2cfaa917a89e3..77577d0df9b14a7ad55b2866c2ac31863226458b 100644 +index 5a72b032150209b6ab053934b05e39eae4bceda5..6b281405e05931396a17d7e48c034d9205574cae 100644 --- a/net/minecraft/world/level/chunk/LevelChunk.java +++ b/net/minecraft/world/level/chunk/LevelChunk.java -@@ -758,6 +758,11 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot +@@ -759,6 +759,11 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot public void setLoaded(boolean loaded) { this.loaded = loaded; diff --git a/lophine-server/minecraft-patches/features/0029-Leaves-Wool-Hopper-Counter.patch b/lophine-server/minecraft-patches/features/0029-Leaves-Wool-Hopper-Counter.patch index d1cba13..6995240 100644 --- a/lophine-server/minecraft-patches/features/0029-Leaves-Wool-Hopper-Counter.patch +++ b/lophine-server/minecraft-patches/features/0029-Leaves-Wool-Hopper-Counter.patch @@ -10,10 +10,10 @@ Licensed under: MIT This patch is Powered by fabric-carpet(https://github.com/gnembon/fabric-carpet) diff --git a/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 6cdb59762b5b223a220d420ff99fa9eadc64f3e0..fe93f0d6b2b7e8503da068179f5d7667634c7ff3 100644 +index 3d2bf6371d39946576745aa7977cdc0f2ff07036..ed906ec726fa0eb12c0108dc751af2dcadf2bfb1 100644 --- a/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/net/minecraft/world/level/block/entity/HopperBlockEntity.java -@@ -229,8 +229,30 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -239,8 +239,30 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen flag |= validator.getAsBoolean(); // Paper - note: this is not a validator, it's what adds/sucks in items } @@ -44,7 +44,7 @@ index 6cdb59762b5b223a220d420ff99fa9eadc64f3e0..fe93f0d6b2b7e8503da068179f5d7667 setChanged(level, pos, state); // Leaves start - Lithium Sleeping Block Entity if (me.earthme.luminol.config.modules.optimizations.LeavesSleepingBlockEntityConfig.enabled -@@ -462,6 +484,13 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -472,6 +494,13 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen // Paper end - Perf: Optimize Hoppers private static boolean ejectItems(Level level, BlockPos pos, HopperBlockEntity blockEntity) { @@ -58,7 +58,7 @@ index 6cdb59762b5b223a220d420ff99fa9eadc64f3e0..fe93f0d6b2b7e8503da068179f5d7667 Container attachedContainer = me.earthme.luminol.config.modules.optimizations.LeavesSleepingBlockEntityConfig.enabled ? blockEntity.getInsertInventory(level) : getAttachedContainer(level, pos, blockEntity); // Leaves - Lithium Sleeping Block Entity if (attachedContainer == null) { return false; -@@ -537,6 +566,26 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -547,6 +576,26 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen } } @@ -85,7 +85,7 @@ index 6cdb59762b5b223a220d420ff99fa9eadc64f3e0..fe93f0d6b2b7e8503da068179f5d7667 private static int[] getSlots(Container container, Direction direction) { if (container instanceof WorldlyContainer worldlyContainer) { return worldlyContainer.getSlotsForFace(direction); -@@ -681,6 +730,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -691,6 +740,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen } public static boolean addItem(Container container, ItemEntity item) { diff --git a/lophine-server/minecraft-patches/features/0035-Instant-Block-Updater.patch b/lophine-server/minecraft-patches/features/0035-Instant-Block-Updater.patch index 77b9db3..e5f1443 100644 --- a/lophine-server/minecraft-patches/features/0035-Instant-Block-Updater.patch +++ b/lophine-server/minecraft-patches/features/0035-Instant-Block-Updater.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Instant Block Updater diff --git a/io/papermc/paper/threadedregions/RegionizedWorldData.java b/io/papermc/paper/threadedregions/RegionizedWorldData.java -index 33d186d660ce3e3dc8cf26cd521fa99291ff78a5..ce1918d12b88835ea79a5c0dc90e0315c408830b 100644 +index 111fd492351601a22cd29391bc4e3602709adb54..166089c786210d645c22f96569f266cc50fe7d6c 100644 --- a/io/papermc/paper/threadedregions/RegionizedWorldData.java +++ b/io/papermc/paper/threadedregions/RegionizedWorldData.java -@@ -494,7 +494,7 @@ public final class RegionizedWorldData { +@@ -484,7 +484,7 @@ public final class RegionizedWorldData { public long lastMidTickExecuteFailure; // From Level public boolean populating; @@ -17,7 +17,7 @@ index 33d186d660ce3e3dc8cf26cd521fa99291ff78a5..ce1918d12b88835ea79a5c0dc90e0315 public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; public final Map capturedBlockStates = new java.util.LinkedHashMap<>(); // Paper -@@ -582,7 +582,7 @@ public final class RegionizedWorldData { +@@ -572,7 +572,7 @@ public final class RegionizedWorldData { this.world = world; this.blockLevelTicks = new LevelTicks<>(world::isPositionTickingWithEntitiesLoaded, world, true); this.fluidLevelTicks = new LevelTicks<>(world::isPositionTickingWithEntitiesLoaded, world, false); diff --git a/lophine-server/minecraft-patches/features/0039-Leaves-Do-not-reset-placed-block-on-exception-Do-not.patch b/lophine-server/minecraft-patches/features/0039-Leaves-Do-not-reset-placed-block-on-exception-Do-not.patch index ec048d3..4fd426d 100644 --- a/lophine-server/minecraft-patches/features/0039-Leaves-Do-not-reset-placed-block-on-exception-Do-not.patch +++ b/lophine-server/minecraft-patches/features/0039-Leaves-Do-not-reset-placed-block-on-exception-Do-not.patch @@ -46,10 +46,10 @@ index a5d3caab2072b2c9bf8fdcbdb7c52c2dee16cfaf..4bb36d2965785fadf628a9bfac4fa2aa // CraftBukkit start if (bukkitState != null) { diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java -index 73dd8e67938fbfff745b189c06a93174976ba1bf..8e56c2237f9d49d0b09b62c0933283f77aaae679 100644 +index 318725a0c9b2bdece7e6287cd521844af81aaf69..b1829ac08ba90e8e1522ee790b7f96515da2b9c4 100644 --- a/net/minecraft/world/level/chunk/LevelChunk.java +++ b/net/minecraft/world/level/chunk/LevelChunk.java -@@ -1001,12 +1001,14 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot +@@ -1005,12 +1005,14 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot profilerFiller.pop(); } catch (Throwable var5) { diff --git a/lophine-server/minecraft-patches/features/0040-Global-Entities-Counter.patch b/lophine-server/minecraft-patches/features/0040-Global-Entities-Counter.patch index 641a363..6d6f056 100644 --- a/lophine-server/minecraft-patches/features/0040-Global-Entities-Counter.patch +++ b/lophine-server/minecraft-patches/features/0040-Global-Entities-Counter.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Global Entities Counter diff --git a/io/papermc/paper/threadedregions/RegionizedWorldData.java b/io/papermc/paper/threadedregions/RegionizedWorldData.java -index ce1918d12b88835ea79a5c0dc90e0315c408830b..c5caad99caed20e2bb4475fcf057417ee27d737c 100644 +index 166089c786210d645c22f96569f266cc50fe7d6c..c7de740dd9babfc1373a5663cd552214b75a0674 100644 --- a/io/papermc/paper/threadedregions/RegionizedWorldData.java +++ b/io/papermc/paper/threadedregions/RegionizedWorldData.java -@@ -576,6 +576,9 @@ public final class RegionizedWorldData { +@@ -566,6 +566,9 @@ public final class RegionizedWorldData { } // Luminol end @@ -18,7 +18,7 @@ index ce1918d12b88835ea79a5c0dc90e0315c408830b..c5caad99caed20e2bb4475fcf057417e public final TickRegions.TickRegionData regionData; public RegionizedWorldData(final ServerLevel world, final TickRegions.TickRegionData regionData) { -@@ -588,6 +591,15 @@ public final class RegionizedWorldData { +@@ -578,6 +581,15 @@ public final class RegionizedWorldData { this.turbo = new io.papermc.paper.redstone.RedstoneWireTurbo((RedStoneWireBlock)Blocks.REDSTONE_WIRE); this.regionData = regionData; diff --git a/lophine-server/minecraft-patches/features/0041-Add-null-check-in-RegionizedWorldData-conections.patch b/lophine-server/minecraft-patches/features/0041-Add-null-check-in-RegionizedWorldData-conections.patch index f3df18f..afd160e 100644 --- a/lophine-server/minecraft-patches/features/0041-Add-null-check-in-RegionizedWorldData-conections.patch +++ b/lophine-server/minecraft-patches/features/0041-Add-null-check-in-RegionizedWorldData-conections.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add null check in RegionizedWorldData >> conections some of our function patches will crash because of get null in conn.getPlayer(), then when we process player.chunkPosition() will get NPE, so we need to fix it. diff --git a/io/papermc/paper/threadedregions/RegionizedWorldData.java b/io/papermc/paper/threadedregions/RegionizedWorldData.java -index c5caad99caed20e2bb4475fcf057417ee27d737c..c2e50a03a41958d9b44753adc9a9bf4ea1fb24a4 100644 +index c7de740dd9babfc1373a5663cd552214b75a0674..61deaf0184c984a71d104a495b4dee34b27766f1 100644 --- a/io/papermc/paper/threadedregions/RegionizedWorldData.java +++ b/io/papermc/paper/threadedregions/RegionizedWorldData.java -@@ -251,14 +251,17 @@ public final class RegionizedWorldData { +@@ -241,14 +241,17 @@ public final class RegionizedWorldData { regionToData.get(CoordinateUtils.getChunkKey(pos.x >> chunkToRegionShift, pos.z >> chunkToRegionShift)).itemEntityMovementTrackerMap.put(key, tracker); } // Luminol end @@ -27,7 +27,7 @@ index c5caad99caed20e2bb4475fcf057417ee27d737c..c2e50a03a41958d9b44753adc9a9bf4e } // entities for (final ServerPlayer player : from.localPlayers) { -@@ -269,6 +272,13 @@ public final class RegionizedWorldData { +@@ -259,6 +262,13 @@ public final class RegionizedWorldData { into.localPlayers.add(player); player.getBukkitEntity().updateRegion(into); into.nearbyPlayers.addPlayer(player); @@ -41,7 +41,7 @@ index c5caad99caed20e2bb4475fcf057417ee27d737c..c2e50a03a41958d9b44753adc9a9bf4e } for (final Entity entity : from.allEntities) { final ChunkPos pos = entity.chunkPosition(); -@@ -636,6 +646,7 @@ public final class RegionizedWorldData { +@@ -626,6 +636,7 @@ public final class RegionizedWorldData { private static void cleanUpConnection(final Connection conn) { // note: ALL connections HERE have a player final ServerPlayer player = conn.getPlayer(); diff --git a/lophine-server/minecraft-patches/features/0044-Carpet-features.patch b/lophine-server/minecraft-patches/features/0044-Carpet-features.patch index bae4bc7..939cbcc 100644 --- a/lophine-server/minecraft-patches/features/0044-Carpet-features.patch +++ b/lophine-server/minecraft-patches/features/0044-Carpet-features.patch @@ -154,7 +154,7 @@ index e6ec0788b88d3431c06134c879b4bae9c769dac1..bc94a9094e3cee5d5d4c5b919bf4c2a1 public ClientInformation clientInformation() { diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4a079d3033908f3b732c70eddab3c8e86d2c3e78..4d95e36855aecc8be0133c1d6f7d6a58bf26b0a0 100644 +index fd74636d911596daae8cfe563c2dd5e3d37a1549..555cdf2558dec481d6f11c0b1c33da1637e89224 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2050,7 +2050,13 @@ public class ServerGamePacketListenerImpl @@ -980,10 +980,10 @@ index 00da328f21e5ce5de6f968323b14a7832a6cbd62..a68ffb1197a19173f00577f656b5894f + } } diff --git a/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 474ca0ce0d3095fc586f8f9e9a584ed4f7c91471..07c2b0fb1fa2dd299687d389d7fe91c5fd5b5b91 100644 +index ed906ec726fa0eb12c0108dc751af2dcadf2bfb1..0942fd82d4ea32f5c75f255ecd6c7b160851706e 100644 --- a/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/net/minecraft/world/level/block/entity/HopperBlockEntity.java -@@ -513,6 +513,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -523,6 +523,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen for (int i = 0; i < blockEntity.getContainerSize(); i++) { ItemStack item = blockEntity.getItem(i); if (!item.isEmpty()) { @@ -991,7 +991,7 @@ index 474ca0ce0d3095fc586f8f9e9a584ed4f7c91471..07c2b0fb1fa2dd299687d389d7fe91c5 int count = item.getCount(); // CraftBukkit start - Call event when pushing items into other inventories ItemStack original = item.copy(); -@@ -544,15 +545,23 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -554,15 +555,23 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen int origCount = event.getItem().getAmount(); // Spigot ItemStack itemStack = HopperBlockEntity.addItem(blockEntity, attachedContainer, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getItem()), opposite); // CraftBukkit end @@ -1045,7 +1045,7 @@ index 0de2f6627fb6295d7927ac3e37026f4daf68cfd3..727abe6be81fdaa0753035bbf89ffead return offsetFunction != null ? offsetFunction.evaluate(this.asState(), pos) : Vec3.ZERO; } diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java -index 8e56c2237f9d49d0b09b62c0933283f77aaae679..64bd2da70f4a0beb0efbb8a74478eef95ca013f2 100644 +index b1829ac08ba90e8e1522ee790b7f96515da2b9c4..8f5e19a15f42aadedfe7c998568f846657a5ec8c 100644 --- a/net/minecraft/world/level/chunk/LevelChunk.java +++ b/net/minecraft/world/level/chunk/LevelChunk.java @@ -406,10 +406,11 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot