mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-22 16:31:55 +01:00
7dcff24771
General patch fixing slot desyncs between the server and client that result from cancelled events/paper introduced logic. Co-authored-by: Minecrell <minecrell@minecrell.net> Co-authored-by: Newwind <support@newwindserver.com>
15 lines
1 KiB
Diff
15 lines
1 KiB
Diff
--- a/net/minecraft/world/item/EndCrystalItem.java
|
|
+++ b/net/minecraft/world/item/EndCrystalItem.java
|
|
@@ -47,6 +47,12 @@
|
|
EndCrystal entityendercrystal = new EndCrystal(world, d0 + 0.5D, d1, d2 + 0.5D);
|
|
|
|
entityendercrystal.setShowBottom(false);
|
|
+ // CraftBukkit start
|
|
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityPlaceEvent(context, entityendercrystal).isCancelled()) {
|
|
+ if (context.getPlayer() != null) context.getPlayer().containerMenu.sendAllDataToRemote(); // Paper - Fix inventory desync
|
|
+ return InteractionResult.FAIL;
|
|
+ }
|
|
+ // CraftBukkit end
|
|
world.addFreshEntity(entityendercrystal);
|
|
world.gameEvent((Entity) context.getPlayer(), (Holder) GameEvent.ENTITY_PLACE, blockposition1);
|
|
EndDragonFight enderdragonbattle = ((ServerLevel) world).getDragonFight();
|