@@ -468,7 +468,7 @@ index a3645322be006d5501fa7fb8944509a9c6b58e32..deddf9503affc1720b1e4877e4a28e07
468468 // Paper end
469469 }
470470diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
471- index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da859a1b3b7d 100644
471+ index e158d614abed8d16e80192c0c9abd8537c92b9dc..053c59f5eeb8061dc0d4ba2182ea2c1a797a5fa5 100644
472472--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
473473+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
474474@@ -330,7 +330,7 @@ public class ServerGamePacketListenerImpl
@@ -480,7 +480,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
480480 this.playerGameConnection = new io.papermc.paper.connection.PaperPlayerGameConnection(this); // Paper
481481 }
482482
483- @@ -485 ,7 +485 ,7 @@ public class ServerGamePacketListenerImpl
483+ @@ -486 ,7 +486 ,7 @@ public class ServerGamePacketListenerImpl
484484 PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
485485 // CraftBukkit start
486486 if (!packet.input().equals(this.player.getLastClientInput())) {
@@ -489,7 +489,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
489489 this.cserver.getPluginManager().callEvent(event);
490490 }
491491 // CraftBukkit end
492- @@ -493 ,7 +493 ,7 @@ public class ServerGamePacketListenerImpl
492+ @@ -494 ,7 +494 ,7 @@ public class ServerGamePacketListenerImpl
493493 net.minecraft.world.entity.player.Input lastInput = this.player.getLastClientInput();
494494 if (lastInput.shift() != packet.input().shift()) {
495495 // Has sneak changed
@@ -498,7 +498,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
498498 this.cserver.getPluginManager().callEvent(event);
499499
500500 // Technically the player input and the flag is desynced, but this is previous behavior.. so should be fine?
501- @@ -683 ,7 +683 ,7 @@ public class ServerGamePacketListenerImpl
501+ @@ -684 ,7 +684 ,7 @@ public class ServerGamePacketListenerImpl
502502 this.lastPitch = to.getPitch();
503503
504504 Location oldTo = to.clone();
@@ -507,7 +507,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
507507 this.cserver.getPluginManager().callEvent(event);
508508
509509 // If the event is cancelled we move the player back to their old location.
510- @@ -884 ,7 +884 ,7 @@ public class ServerGamePacketListenerImpl
510+ @@ -885 ,7 +885 ,7 @@ public class ServerGamePacketListenerImpl
511511 }
512512 // Paper start - Brigadier API
513513 com.mojang.brigadier.suggestion.Suggestions suggestions = builder.buildFuture().join();
@@ -516,7 +516,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
516516 suggestEvent.setCancelled(suggestions.isEmpty());
517517 if (suggestEvent.callEvent()) {
518518 this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), limitTo(suggestEvent.getSuggestions(), ServerGamePacketListenerImpl.MAX_COMMAND_SUGGESTIONS)));
519- @@ -920 ,7 +920 ,7 @@ public class ServerGamePacketListenerImpl
519+ @@ -921 ,7 +921 ,7 @@ public class ServerGamePacketListenerImpl
520520 }
521521 // Paper end - Don't tab-complete namespaced commands if send-namespaced is false
522522 // Paper start - Brigadier API
@@ -525,7 +525,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
525525 suggestEvent.setCancelled(suggestions.isEmpty());
526526 if (suggestEvent.callEvent()) {
527527 this.send(new ClientboundCommandSuggestionsPacket(packet.getId(), limitTo(suggestEvent.getSuggestions(), ServerGamePacketListenerImpl.MAX_COMMAND_SUGGESTIONS)));
528- @@ -1077 ,8 +1077 ,8 @@ public class ServerGamePacketListenerImpl
528+ @@ -1078 ,8 +1078 ,8 @@ public class ServerGamePacketListenerImpl
529529 final int targetSlot = Inventory.isHotbarSlot(sourceSlot) ? sourceSlot : inventory.getSuitableHotbarSlot();
530530 final org.bukkit.entity.Player bukkitPlayer = this.player.getBukkitEntity();
531531 final io.papermc.paper.event.player.PlayerPickItemEvent event = entity != null
@@ -536,7 +536,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
536536 if (!event.callEvent()) {
537537 return;
538538 }
539- @@ -1559 ,7 +1559 ,7 @@ public class ServerGamePacketListenerImpl
539+ @@ -1560 ,7 +1560 ,7 @@ public class ServerGamePacketListenerImpl
540540 to.setPitch(packet.xRot);
541541 }
542542
@@ -545,7 +545,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
545545
546546 if (event.callEvent()) {
547547 this.player.jumpFromGround();
548- @@ -1669 ,7 +1669 ,7 @@ public class ServerGamePacketListenerImpl
548+ @@ -1670 ,7 +1670 ,7 @@ public class ServerGamePacketListenerImpl
549549 this.lastPitch = to.getPitch();
550550
551551 Location oldTo = to.clone();
@@ -554,7 +554,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
554554 this.cserver.getPluginManager().callEvent(event);
555555
556556 // If the event is cancelled we move the player back to their old location.
557- @@ -1846 ,7 +1846 ,7 @@ public class ServerGamePacketListenerImpl
557+ @@ -1847 ,7 +1847 ,7 @@ public class ServerGamePacketListenerImpl
558558 final io.papermc.paper.entity.TeleportFlag.Relative flag = org.bukkit.craftbukkit.entity.CraftEntity.deltaRelativeToAPI(relativeArgument);
559559 if (flag != null) relativeFlags.add(flag);
560560 }
@@ -563,7 +563,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
563563 // Paper end - Teleport API
564564 this.cserver.getPluginManager().callEvent(event);
565565
566- @@ -1934 ,7 +1934 ,7 @@ public class ServerGamePacketListenerImpl
566+ @@ -1935 ,7 +1935 ,7 @@ public class ServerGamePacketListenerImpl
567567 // CraftBukkit start - inspiration taken from DispenserRegistry (See SpigotCraft#394)
568568 CraftItemStack mainHand = CraftItemStack.asCraftMirror(itemInHand1);
569569 CraftItemStack offHand = CraftItemStack.asCraftMirror(this.player.getItemInHand(InteractionHand.MAIN_HAND));
@@ -572,7 +572,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
572572 this.cserver.getPluginManager().callEvent(swapItemsEvent);
573573 if (swapItemsEvent.isCancelled()) {
574574 return;
575- @@ -2285 ,7 +2285 ,7 @@ public class ServerGamePacketListenerImpl
575+ @@ -2286 ,7 +2286 ,7 @@ public class ServerGamePacketListenerImpl
576576 if (this.player.isImmobile()) return; // CraftBukkit
577577 if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) {
578578 if (packet.getSlot() == this.player.getInventory().getSelectedSlot()) { return; } // Paper - don't fire itemheldevent when there wasn't a slot change
@@ -581,7 +581,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
581581 this.cserver.getPluginManager().callEvent(event);
582582 if (event.isCancelled()) {
583583 this.send(new ClientboundSetHeldSlotPacket(this.player.getInventory().getSelectedSlot()));
584- @@ -2356 ,7 +2356 ,7 @@ public class ServerGamePacketListenerImpl
584+ @@ -2357 ,7 +2357 ,7 @@ public class ServerGamePacketListenerImpl
585585 LOGGER.info("{} issued server command: {}", this.player.getScoreboardName(), prefixedCommand);
586586 }
587587
@@ -590,7 +590,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
590590 this.cserver.getPluginManager().callEvent(event);
591591
592592 if (event.isCancelled()) {
593- @@ -2398 ,7 +2398 ,7 @@ public class ServerGamePacketListenerImpl
593+ @@ -2399 ,7 +2399 ,7 @@ public class ServerGamePacketListenerImpl
594594 LOGGER.info("{} issued server command: {}", this.player.getScoreboardName(), command);
595595 } // Paper - Add missing SpigotConfig logCommands check
596596
@@ -599,7 +599,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
599599 this.cserver.getPluginManager().callEvent(event);
600600 command = event.getMessage().substring(1);
601601
602- @@ -2659 ,7 +2659 ,7 @@ public class ServerGamePacketListenerImpl
602+ @@ -2660 ,7 +2660 ,7 @@ public class ServerGamePacketListenerImpl
603603 } // Paper end - Call interact event
604604
605605 // Arm swing animation
@@ -608,7 +608,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
608608 this.cserver.getPluginManager().callEvent(event);
609609
610610 if (event.isCancelled()) return;
611- @@ -2676 ,7 +2676 ,7 @@ public class ServerGamePacketListenerImpl
611+ @@ -2677 ,7 +2677 ,7 @@ public class ServerGamePacketListenerImpl
612612 switch (packet.getAction()) {
613613 case START_SPRINTING:
614614 case STOP_SPRINTING: {
@@ -617,7 +617,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
617617 this.cserver.getPluginManager().callEvent(event);
618618
619619 if (event.isCancelled()) {
620- @@ -2887 ,13 +2887 ,13 @@ public class ServerGamePacketListenerImpl
620+ @@ -2888 ,13 +2888 ,13 @@ public class ServerGamePacketListenerImpl
621621
622622 @Override
623623 public void onInteraction(InteractionHand hand) {
@@ -633,7 +633,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
633633 );
634634 }
635635
636- @@ -3359 ,7 +3359 ,7 @@ public class ServerGamePacketListenerImpl
636+ @@ -3360 ,7 +3360 ,7 @@ public class ServerGamePacketListenerImpl
637637 // Paper start - Add PlayerRecipeBookClickEvent
638638 NamespacedKey recipeName = org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(recipeHolder.id().identifier());
639639 boolean makeAll = packet.useMaxItems();
@@ -642,7 +642,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
642642 this.player.getBukkitEntity(), recipeName, makeAll
643643 );
644644 if (!paperEvent.callEvent()) {
645- @@ -3512 ,7 +3512 ,7 @@ public class ServerGamePacketListenerImpl
645+ @@ -3513 ,7 +3513 ,7 @@ public class ServerGamePacketListenerImpl
646646 BlockPos pos = packet.getPos();
647647 if (serverLevel.hasChunkAt(pos)) {
648648 // Paper start - Add API for client-side signs
@@ -651,7 +651,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
651651 this.player.getBukkitEntity(),
652652 io.papermc.paper.util.MCUtil.toPosition(pos),
653653 packet.isFrontText() ? org.bukkit.block.sign.Side.FRONT : org.bukkit.block.sign.Side.BACK,
654- @@ -3534 ,7 +3534 ,7 @@ public class ServerGamePacketListenerImpl
654+ @@ -3535 ,7 +3535 ,7 @@ public class ServerGamePacketListenerImpl
655655 PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
656656 // CraftBukkit start
657657 if (this.player.getAbilities().mayfly && this.player.getAbilities().flying != packet.isFlying()) {
@@ -660,17 +660,17 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
660660 this.cserver.getPluginManager().callEvent(event);
661661 if (!event.isCancelled()) {
662662 this.player.getAbilities().flying = packet.isFlying(); // Actually set the player's flying status
663- @@ -3719 ,8 +3719 ,7 @@ public class ServerGamePacketListenerImpl
664- private void markClientLoaded() {
665- // Paper start - Add PlayerLoadedWorldEvent
663+ @@ -3725 ,8 +3725 ,7 @@ public class ServerGamePacketListenerImpl
664+
665+ private void markClientLoaded(boolean timeout) {
666666 if (!hasClientLoaded()) {
667- - final io.papermc.paper.event.player.PlayerClientLoadedWorldEvent event = new io.papermc.paper.event.player.PlayerClientLoadedWorldEvent(this.player.getBukkitEntity(), true );
667+ - final io.papermc.paper.event.player.PlayerClientLoadedWorldEvent event = new io.papermc.paper.event.player.PlayerClientLoadedWorldEvent(this.player.getBukkitEntity(), timeout );
668668- event.callEvent();
669- + new io.papermc.paper.event.player.PaperPlayerClientLoadedWorldEvent(this.player.getBukkitEntity(), true ).callEvent();
669+ + new io.papermc.paper.event.player.PaperPlayerClientLoadedWorldEvent(this.player.getBukkitEntity(), timeout ).callEvent();
670670 }
671671 // Paper end - Add PlayerLoadedWorldEvent
672672 this.clientLoadedTimeoutTimer = 0;
673- @@ -3746 ,8 +3745 ,9 @@ public class ServerGamePacketListenerImpl
673+ @@ -3752 ,8 +3751 ,9 @@ public class ServerGamePacketListenerImpl
674674 org.bukkit.entity.Player player = this.getCraftPlayer();
675675 Location from = new Location(player.getWorld(), this.lastPosX, this.lastPosY, this.lastPosZ, this.lastYaw, this.lastPitch);
676676 Location to = new Location(player.getWorld(), toX, toY, toZ, toYaw, toPitch);
@@ -682,7 +682,7 @@ index bcd1a5dcbb43c604430001e27e8d711b41c8bab0..03b7379404212e7bdc9272114b12da85
682682 event.callEvent();
683683 return event;
684684 }
685- @@ -3785 ,7 +3785 ,7 @@ public class ServerGamePacketListenerImpl
685+ @@ -3791 ,7 +3791 ,7 @@ public class ServerGamePacketListenerImpl
686686 // Paper start - store last pack status
687687 org.bukkit.event.player.PlayerResourcePackStatusEvent.Status packStatus = org.bukkit.event.player.PlayerResourcePackStatusEvent.Status.values()[packet.action().ordinal()];
688688 this.connection.resourcePackStatus = packStatus;
@@ -834,7 +834,7 @@ index 0685501ce48bbfcc8d782e9033c35ba82ef6c2e8..83c5c490a561e55a982d279dfc7b24e7
834834 }
835835
836836diff --git a/net/minecraft/world/effect/MobEffectInstance.java b/net/minecraft/world/effect/MobEffectInstance.java
837- index 5888dcb3ce9b988a6ba1ff4f810f41522bc25161..f078809a5d4252ef83d5cdb9f778ef429c328d1d 100644
837+ index 3bcfe2faca53e85a20bdbf847b25aef9c61e24f6..14d149758744404abfc9ebd2b3754adb2f0757ca 100644
838838--- a/net/minecraft/world/effect/MobEffectInstance.java
839839+++ b/net/minecraft/world/effect/MobEffectInstance.java
840840@@ -218,7 +218,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
@@ -1241,7 +1241,7 @@ index 3b931c6105ea14add0d2a60dc19cc3601a092a3b..f64301631e192c796367ff3fabb52527
12411241 if (event.isCancelled()) {
12421242 return;
12431243diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
1244- index 7bf160cef8bd772d27d4a71f04d5d9861ef67984..a0eeff099709fbf85beb2261f10dabb07db25d00 100644
1244+ index e4240fa38fb8513c7e320a4b30e6dcbb7e015310..1dbd6586d35be9b13c81609b8002974e48ab74d6 100644
12451245--- a/net/minecraft/world/entity/player/Player.java
12461246+++ b/net/minecraft/world/entity/player/Player.java
12471247@@ -258,7 +258,7 @@ public abstract class Player extends Avatar implements ContainerUser {
@@ -1280,7 +1280,7 @@ index 7bf160cef8bd772d27d4a71f04d5d9861ef67984..a0eeff099709fbf85beb2261f10dabb0
12801280 (org.bukkit.entity.Player) this.getBukkitEntity(),
12811281 target.getBukkitEntity(),
12821282 !cannotAttack
1283- @@ -2014 ,7 +2014 ,7 @@ public abstract class Player extends Avatar implements ContainerUser {
1283+ @@ -2035 ,7 +2035 ,7 @@ public abstract class Player extends Avatar implements ContainerUser {
12841284 // We pass a result mutable boolean in to allow the caller of this method to know if the event was cancelled.
12851285 protected boolean tryReadyArrow(ItemStack bow, ItemStack itemstack, final org.apache.commons.lang3.mutable.MutableBoolean cancelled) {
12861286 if (!(this instanceof final ServerPlayer serverPlayer)) return true;
@@ -2559,7 +2559,7 @@ index e357e98b6e362800c07dec7faf94bcedc578f4cb..5b9f136018adaaf8f387c7bb63036b9a
25592559 && level.getDifficulty() != Difficulty.PEACEFUL
25602560 && entity instanceof LivingEntity livingEntity
25612561diff --git a/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
2562- index c8bfa1eeb847d6d9972d2f6625cc1f60063713d4..3eae953cfe9379cc706344b5c00765668a214b4a 100644
2562+ index 1215ac44fd30dc872f9d319be34e5e08ba880ea2..732b65bf72fdd8666a2107accd17d223ac51829c 100644
25632563--- a/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
25642564+++ b/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
25652565@@ -204,7 +204,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
@@ -2597,7 +2597,7 @@ index c8bfa1eeb847d6d9972d2f6625cc1f60063713d4..3eae953cfe9379cc706344b5c0076566
25972597+ event = new org.bukkit.craftbukkit.event.block.CraftFurnaceExtractEvent(
25982598 serverPlayer.getBukkitEntity(),
25992599 org.bukkit.craftbukkit.block.CraftBlock.at(level, blockPos),
2600- org.bukkit.craftbukkit.inventory.CraftItemType.minecraftToBukkit( itemStack.getItem() ),
2600+ itemStack.asBukkitCopy( ),
26012601@@ -495,7 +495,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
26022602 floor
26032603 );
0 commit comments