Update Luminol

This commit is contained in:
Helvetica Volubi
2026-07-01 23:27:02 +08:00
parent 03dddb546d
commit 3251e0d8e0
15 changed files with 45 additions and 45 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ release=pre
# true for push to repo, false for skip push repo, auto for detect by release value
pushRepo=false
luminolRef=46e35e889eedc4dff3dc51dde30419f62333c55b
luminolRef=306c3152058211f704ad81e71ae097416d8f8b58
org.gradle.configuration-cache=true
org.gradle.caching=true
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix datapack command save function
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 00c42fa41e7f002b078ec4f50154477da872d9eb..03e50cf36bad1e2f377cdebe6dc333e0d4c185c4 100644
index 478f896c4fc948a45a463d51c5a78a0a029eb376..56bd710443b794320f97f6e775247df9b09c4c0e 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -2445,6 +2445,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2447,6 +2447,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return this.reloadResources(packsToEnable, io.papermc.paper.event.server.ServerResourcesReloadedEvent.Cause.PLUGIN);
}
@@ -5,7 +5,7 @@ Subject: [PATCH] Add config to disable some check for operators
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 29eedcda8d5feef5b0033fdb3ee926659b86cee6..bddf77458a524fb0e6712398b785565985c21452 100644
index 85d490dc7473187c1f63639f7aac70d212b50c3d..83dfc138415f676ac1831e577819ce0471640dbd 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -402,7 +402,7 @@ public class ServerGamePacketListenerImpl
@@ -48,10 +48,10 @@ index 9800ae1d3c49800b0c7342d43d696109b5b72cf4..f9a8c79640ed6ca381e4482eaeab6b23
SaveOnCommand.register(this.dispatcher);
SetPlayerIdleTimeoutCommand.register(this.dispatcher);
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 03e50cf36bad1e2f377cdebe6dc333e0d4c185c4..fb9b0cb1b8b1fd6c5666a3990a4e74824d4bef7e 100644
index 56bd710443b794320f97f6e775247df9b09c4c0e..c27779b5ca53aad8c87830b2e2647dbfcdcb762b 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1647,6 +1647,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1649,6 +1649,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Folia start - region threading
public void tickServer(final long startTime, final long scheduledEnd, final long targetBuffer,
final io.papermc.paper.threadedregions.TickRegions.TickRegionData region) {
@@ -38,10 +38,10 @@ index be357d315f5c83349a7f7287ff45e92137950a8c..a542e38ea6a1e8fc81466acbca071d89
if (count > maxAllowedCount) {
source.sendFailure(Component.translatable("commands.give.failed.toomanyitems", maxAllowedCount, prototypeItemStack.getDisplayName()));
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index bddf77458a524fb0e6712398b785565985c21452..57d95a22043cc0e229e302700a75fdc5e2d341b6 100644
index 83dfc138415f676ac1831e577819ce0471640dbd..dcea7e64dd2fbad34f5de3bd682d72e4428b10a8 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3214,7 +3214,7 @@ public class ServerGamePacketListenerImpl
@@ -3219,7 +3219,7 @@ public class ServerGamePacketListenerImpl
} else if (slot.mayPlace(cursor)) {
if (ItemStack.isSameItemSameComponents(clickedItem, cursor)) {
int toPlace = packet.buttonNum() == 0 ? cursor.getCount() : 1;
@@ -50,7 +50,7 @@ index bddf77458a524fb0e6712398b785565985c21452..57d95a22043cc0e229e302700a75fdc5
toPlace = Math.min(toPlace, slot.container.getMaxStackSize() - clickedItem.getCount());
if (toPlace == 1) {
action = InventoryAction.PLACE_ONE;
@@ -3250,7 +3250,7 @@ public class ServerGamePacketListenerImpl
@@ -3255,7 +3255,7 @@ public class ServerGamePacketListenerImpl
}
} else if (ItemStack.isSameItemSameComponents(cursor, clickedItem)) {
if (clickedItem.getCount() >= 0) {
@@ -59,7 +59,7 @@ index bddf77458a524fb0e6712398b785565985c21452..57d95a22043cc0e229e302700a75fdc5
// As of 1.5, this is result slots only
action = InventoryAction.PICKUP_ALL;
}
@@ -3467,6 +3467,7 @@ public class ServerGamePacketListenerImpl
@@ -3472,6 +3472,7 @@ public class ServerGamePacketListenerImpl
this.player.containerMenu.broadcastFullState();
} else {
this.player.containerMenu.broadcastChanges();
@@ -67,7 +67,7 @@ index bddf77458a524fb0e6712398b785565985c21452..57d95a22043cc0e229e302700a75fdc5
}
if (packet.buttonNum() == Inventory.SLOT_OFFHAND && this.player.containerMenu != this.player.inventoryMenu) this.player.containerSynchronizer.sendOffHandSlotChange(); // Paper - update offhand data when the player is clicking in an inventory not their own as the sychronizer does not include offhand slots
if (io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.updateEquipmentOnPlayerActions) this.player.detectEquipmentUpdates(); // Paper - Force update attributes.
@@ -3578,7 +3579,7 @@ public class ServerGamePacketListenerImpl
@@ -3583,7 +3584,7 @@ public class ServerGamePacketListenerImpl
}
boolean validSlot = packet.slotNum() >= 1 && packet.slotNum() <= 45;
@@ -76,7 +76,7 @@ index bddf77458a524fb0e6712398b785565985c21452..57d95a22043cc0e229e302700a75fdc5
if (drop || (validSlot && !ItemStack.matches(this.player.inventoryMenu.getSlot(packet.slotNum()).getItem(), packet.itemStack()))) { // Insist on valid slot
// CraftBukkit start - Call click event
org.bukkit.inventory.InventoryView inventory = this.player.inventoryMenu.getBukkitView();
@@ -3620,6 +3621,7 @@ public class ServerGamePacketListenerImpl
@@ -3625,6 +3626,7 @@ public class ServerGamePacketListenerImpl
this.player.inventoryMenu.getSlot(packet.slotNum()).setByPlayer(itemStack);
this.player.inventoryMenu.setRemoteSlot(packet.slotNum(), itemStack);
this.player.inventoryMenu.broadcastChanges();
@@ -36,10 +36,10 @@ index 08e253662a2c183c0ab53a51cc07485cff33bf2c..1bd678d668a1febc129f4cb4d0d95ea2
};
}
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index fb9b0cb1b8b1fd6c5666a3990a4e74824d4bef7e..3234e9b00a20faa521618ae5e2f9dbb99868d377 100644
index c27779b5ca53aad8c87830b2e2647dbfcdcb762b..a4536d82830370ce74313cf9721968b3344f3f08 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -2001,6 +2001,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2003,6 +2003,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
profiler.popPush("server gui refresh");
@@ -5,7 +5,7 @@ Subject: [PATCH] LeavesHooks
diff --git a/ca/spottedleaf/moonrise/paper/PaperHooks.java b/ca/spottedleaf/moonrise/paper/PaperHooks.java
index b5e6a537497660dcdc87e8a0420add23859fc00f..781c1318df32f0fec1f0040c090678087512a60d 100644
index 08e3c75672e95248140eb0e0907cae5fbe54da34..dd17339fe2f9d7660b20eed05b61d6231302aa82 100644
--- a/ca/spottedleaf/moonrise/paper/PaperHooks.java
+++ b/ca/spottedleaf/moonrise/paper/PaperHooks.java
@@ -29,7 +29,7 @@ import net.minecraft.world.phys.AABB;
@@ -9,7 +9,7 @@ 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/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 57d95a22043cc0e229e302700a75fdc5e2d341b6..a095cd480e6e86806defb17f11e4758bd96c21f9 100644
index dcea7e64dd2fbad34f5de3bd682d72e4428b10a8..df246c52f85df3d6daeaf5519e68b22e54913971 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -348,9 +348,12 @@ public class ServerGamePacketListenerImpl
@@ -9,10 +9,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/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a095cd480e6e86806defb17f11e4758bd96c21f9..5d779fd6febf51fa5c7d92e1410dc95008819c58 100644
index df246c52f85df3d6daeaf5519e68b22e54913971..d50ed9e165ed68144c4f71bb39f91fc61c61f179 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3888,7 +3888,7 @@ public class ServerGamePacketListenerImpl
@@ -3893,7 +3893,7 @@ public class ServerGamePacketListenerImpl
}
@Deprecated @io.papermc.paper.annotation.DoNotUse // Paper - Add PlayerLoadedWorldEvent
@@ -13,10 +13,10 @@ MasaGadget(https://github.com/plusls/MasaGadget)
litematica(https://github.com/maruohon/litematica)
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 5d779fd6febf51fa5c7d92e1410dc95008819c58..b5e19220cd137c91ee992aa011593d625f741222 100644
index d50ed9e165ed68144c4f71bb39f91fc61c61f179..2ada9d75ee70754a3992a32660d125c4328ff264 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2157,7 +2157,7 @@ public class ServerGamePacketListenerImpl
@@ -2162,7 +2162,7 @@ public class ServerGamePacketListenerImpl
if (ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(this.player.level(), pos.getX() >> 4, pos.getZ() >> 4, 8) && this.player.isWithinBlockInteractionRange(pos, 1.0)) { // Folia - do not allow players to interact with blocks outside the current region
Vec3 distance = location.subtract(Vec3.atCenterOf(pos));
double limit = 1.0000001;
@@ -33,7 +33,7 @@ index d2e9d46bbd9ee4ce45419b11499d7a7bc50f0219..848967dbe41694411603ef369cfdc3a0
private final java.util.concurrent.atomic.AtomicBoolean disconnectionHandled = new java.util.concurrent.atomic.AtomicBoolean(false); // Folia - region threading - may be called concurrently during configuration stage
private int receivedPackets;
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 3234e9b00a20faa521618ae5e2f9dbb99868d377..f6ace71d151d428149e8c9615c3b91e0f213ae7c 100644
index a4536d82830370ce74313cf9721968b3344f3f08..c91e4b2143e4a801a124dfb9c2f807445539685f 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -296,6 +296,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -43,9 +43,9 @@ index 3234e9b00a20faa521618ae5e2f9dbb99868d377..f6ace71d151d428149e8c9615c3b91e0
+ private org.leavesmc.leaves.bot.BotList botList; // Leaves - fakeplayer
+
public static <S extends MinecraftServer> S spin(final Function<Thread, S> factory) {
ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.init(); // Paper - rewrite data converter system
AtomicReference<S> serverReference = new AtomicReference<>();
Thread thread = new ca.spottedleaf.moonrise.common.util.TickThread(() -> serverReference.get().runServer(), "Server thread");
@@ -1190,6 +1192,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1192,6 +1194,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.halt(wait, false);
}
public void halt(final boolean wait, final boolean isRestarting) {
@@ -62,7 +62,7 @@ index 3234e9b00a20faa521618ae5e2f9dbb99868d377..f6ace71d151d428149e8c9615c3b91e0
this.isRestarting = isRestarting;
this.hasLoggedStop = true; // Paper - Debugging
if (this.isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
@@ -1659,7 +1671,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1661,7 +1673,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
int emptyTickThreshold = this.pauseWhenEmptySeconds() * 20;
this.removeDisabledPluginsBlockingSleep(); // Paper - API to allow/disallow tick sleeping
if (false && emptyTickThreshold > 0) { // Folia - region threading - this is complicated to implement, and even if done correctly is messy
@@ -71,7 +71,7 @@ index 3234e9b00a20faa521618ae5e2f9dbb99868d377..f6ace71d151d428149e8c9615c3b91e0
this.emptyTicks++;
} else {
this.emptyTicks = 0;
@@ -1791,6 +1803,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1793,6 +1805,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isSaving = true;
if (playerSaveInterval > 0) {
this.playerList.saveAll(playerSaveInterval);
@@ -79,7 +79,7 @@ index 3234e9b00a20faa521618ae5e2f9dbb99868d377..f6ace71d151d428149e8c9615c3b91e0
}
if (region == null && fullSave) { // Folia - region threading - don't auto save level data
this.saveGlobalData(false);
@@ -2029,6 +2042,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2031,6 +2044,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
protected void tickConnection() {
this.getConnection().tick();
@@ -87,7 +87,7 @@ index 3234e9b00a20faa521618ae5e2f9dbb99868d377..f6ace71d151d428149e8c9615c3b91e0
}
public void forceGameTimeSynchronization() {
@@ -3238,6 +3252,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -3240,6 +3254,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return this.debugSubscribers;
}
@@ -88,10 +88,10 @@ index 6c05b9276bdc267a36376f6c64592a50e4b2b36e..21d2c97b3d1e1d29c9de02b6acd58985
result.add(player);
if (result.size() >= limit) {
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index f6ace71d151d428149e8c9615c3b91e0f213ae7c..d7a7f7e7daf45bc0912aae008f3fed35201925fe 100644
index c91e4b2143e4a801a124dfb9c2f807445539685f..31702272280b853d8a0a688eb162859412f5a646 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1894,7 +1894,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1896,7 +1896,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
private ServerStatus.Players buildPlayerStatus() {
@@ -100,7 +100,7 @@ index f6ace71d151d428149e8c9615c3b91e0f213ae7c..d7a7f7e7daf45bc0912aae008f3fed35
int maxPlayers = this.getMaxPlayers();
if (this.hidesOnlinePlayers()) {
return new ServerStatus.Players(maxPlayers, players.size(), List.of());
@@ -2115,7 +2115,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2117,7 +2117,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@Override
public int getPlayerCount() {
@@ -109,7 +109,7 @@ index f6ace71d151d428149e8c9615c3b91e0f213ae7c..d7a7f7e7daf45bc0912aae008f3fed35
}
public String[] getPlayerNames() {
@@ -2332,7 +2332,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2334,7 +2334,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
int count = 0;
@@ -118,7 +118,7 @@ index f6ace71d151d428149e8c9615c3b91e0f213ae7c..d7a7f7e7daf45bc0912aae008f3fed35
player.getBukkitEntity().taskScheduler.schedule((ServerPlayer updatedPlayer) -> { // Folia - region threading
// Paper start - Expand PlayerGameModeChangeEvent
org.bukkit.event.player.PlayerGameModeChangeEvent event = updatedPlayer.setGameMode(gameType, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.DEFAULT_GAMEMODE, null); // Folia - region threading
@@ -2523,7 +2523,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2525,7 +2525,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (Thread.currentThread() != this.serverThread) return; // Paper
// Paper start - we don't need to save everything, just advancements
// this.getPlayerList().saveAll();
@@ -127,7 +127,7 @@ index f6ace71d151d428149e8c9615c3b91e0f213ae7c..d7a7f7e7daf45bc0912aae008f3fed35
player.getAdvancements().save();
}
// Paper end - we don't need to save everything, just advancements
@@ -2659,7 +2659,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2661,7 +2661,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
PlayerList playerList = this.getPlayerList();
UserWhiteList whiteList = playerList.getWhiteList();
@@ -36,10 +36,10 @@ index 10fa576838c726d026df078eef6c693d14c2cbda..03c4fab3f9be4f69d8c418e6fdd88211
throw PacketUtils.makeReportedException(e, this.packet, this.listener);
}
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index d7a7f7e7daf45bc0912aae008f3fed35201925fe..8bbb30c16d14981a21731e090b5aa2e4a48528a7 100644
index 31702272280b853d8a0a688eb162859412f5a646..156bbc6b959ba4902e683ec0c75d9308ed6742f8 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1983,11 +1983,30 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1985,11 +1985,30 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
try {
foliaProfiler.startTimer(level.tickTimerId); try { // Folia - profiler
level.tick(haveTime, region); // Folia - region threading
@@ -164,10 +164,10 @@ index 4a22a07cd0e0d81cf7b12a91e75ec78d7d7b9836..82a9143d43425943d6b730c8a4344688
public ClientInformation clientInformation() {
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index b5e19220cd137c91ee992aa011593d625f741222..d94111b1171e83822885f616db4cd6fccc39298d 100644
index 2ada9d75ee70754a3992a32660d125c4328ff264..91eb538fe3f7134573f3974728ffc527cae5bfae 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2073,7 +2073,15 @@ public class ServerGamePacketListenerImpl
@@ -2078,7 +2078,15 @@ public class ServerGamePacketListenerImpl
this.player.gameMode.capturedBlockEntity = false;
this.player.gameMode.captureSentBlockEntities = true;
// Paper end - Send block entities after destroy prediction
@@ -184,7 +184,7 @@ index b5e19220cd137c91ee992aa011593d625f741222..d94111b1171e83822885f616db4cd6fc
this.ackBlockChangesUpTo(packet.getSequence());
// Paper start - Send block entities after destroy prediction
this.player.gameMode.captureSentBlockEntities = false;
@@ -2176,7 +2184,9 @@ public class ServerGamePacketListenerImpl
@@ -2181,7 +2189,9 @@ public class ServerGamePacketListenerImpl
if (!me.earthme.luminol.config.modules.fixes.ItemMultitaskConfig.enabled) { // Luminol - Add item multitask config
this.player.stopUsingItem(); // CraftBukkit - SPIGOT-4706
} // Luminol - Add item multitask config
@@ -195,7 +195,7 @@ index b5e19220cd137c91ee992aa011593d625f741222..d94111b1171e83822885f616db4cd6fc
if (interactionResult.consumesAction()) {
CriteriaTriggers.ANY_BLOCK_USE.trigger(this.player, blockHit.getBlockPos(), itemStack);
}
@@ -2281,7 +2291,10 @@ public class ServerGamePacketListenerImpl
@@ -2286,7 +2296,10 @@ public class ServerGamePacketListenerImpl
}
// CraftBukkit end
@@ -207,7 +207,7 @@ index b5e19220cd137c91ee992aa011593d625f741222..d94111b1171e83822885f616db4cd6fc
&& success.swingSource() == InteractionResult.SwingSource.SERVER) {
this.player.swing(hand, true);
}
@@ -2289,6 +2302,16 @@ public class ServerGamePacketListenerImpl
@@ -2294,6 +2307,16 @@ public class ServerGamePacketListenerImpl
}
}
@@ -224,7 +224,7 @@ index b5e19220cd137c91ee992aa011593d625f741222..d94111b1171e83822885f616db4cd6fc
@Override
public void handleTeleportToEntityPacket(final ServerboundTeleportToEntityPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
@@ -2669,6 +2692,10 @@ public class ServerGamePacketListenerImpl
@@ -2674,6 +2697,10 @@ public class ServerGamePacketListenerImpl
if (true) throw new UnsupportedOperationException(); // Folia - region threading
final String conversationInput = rawMessage;
this.server.processQueue.add(() -> ServerGamePacketListenerImpl.this.getCraftPlayer().acceptConversationInput(conversationInput));
@@ -235,7 +235,7 @@ index b5e19220cd137c91ee992aa011593d625f741222..d94111b1171e83822885f616db4cd6fc
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Re-add "Command Only" flag check
this.send(new ClientboundSystemChatPacket(Component.translatable("chat.cannotSend").withStyle(ChatFormatting.RED), false));
} else {
@@ -2681,6 +2708,9 @@ public class ServerGamePacketListenerImpl
@@ -2686,6 +2713,9 @@ public class ServerGamePacketListenerImpl
// Spigot start - spam exclusions
private void detectRateSpam(final TickThrottler throttler, final String message) {
@@ -245,7 +245,7 @@ index b5e19220cd137c91ee992aa011593d625f741222..d94111b1171e83822885f616db4cd6fc
if (me.earthme.luminol.config.modules.misc.PaperPacketLimiterConfig.forceDisable) return; // Leaves - disable
// CraftBukkit start - replaced with thread safe throttle
if (org.spigotmc.SpigotConfig.enableSpamExclusions) {
@@ -3627,8 +3657,10 @@ public class ServerGamePacketListenerImpl
@@ -3632,8 +3662,10 @@ public class ServerGamePacketListenerImpl
if (org.leavesmc.leaves.util.ItemOverstackUtils.hasOverstackingItem()) this.player.containerMenu.sendSingleSlot(packet.slotNum(), itemStack); // Leaves - item over-stack util - force send carried item
if (io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.updateEquipmentOnPlayerActions) this.player.detectEquipmentUpdates(); // Paper - Force update attributes.
} else if (drop && validData) {
@@ -676,7 +676,7 @@ index 6812ade4d9de26d507234b8357b109ec7e5cbb50..071d2cd7e0c2e5bba0732590ba804a5c
public void addRecipe(RecipeHolder<?> holder) {
org.spigotmc.AsyncCatcher.catchOp("Recipe Add"); // Spigot
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index fb368e4c09b44744ba634c22934b27ea804ea00e..6d3a5d648f4d04945a64e76995c0f4b5f81af779 100644
index bfc8e50a9e0d1ec13092cdd4bee0efba94a24da7..9691985eff543ad71174c2be3033ed7901390413 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -1179,7 +1179,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -35,7 +35,7 @@ index fcdfd4f6de5e1c2d5e80c7f3d8cb0b33a62d257d..6eaa4e9bd1ecbfa531313ce1f470d55e
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
index 5dc8e9065ea1f3eeea73fcd049c1f9818f5d25d8..a6b22e9bd010815607e19034cc141784bec398f0 100644
index fd7cd6f72390c71d036ebfc0e4c67dad51eb2e9c..818ad9b9fc952fff13baea1e8f48840daa2a1541 100644
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
@@ -40,8 +40,8 @@ public class PaperVersionFetcher implements VersionFetcher {