11
11
import net .minecraft .commands .arguments .EntityAnchorArgument ;
12
12
import net .minecraft .core .BlockPos ;
13
13
import net .minecraft .core .Direction ;
14
- import net .minecraft .network .protocol .game .ClientboundSetCarriedItemPacket ;
14
+ import net .minecraft .network .protocol .game .ClientboundSetHeldSlotPacket ;
15
15
import net .minecraft .network .protocol .game .ServerboundPlayerActionPacket ;
16
16
import net .minecraft .server .level .ServerLevel ;
17
17
import net .minecraft .server .level .ServerPlayer ;
@@ -282,7 +282,7 @@ public void drop(int selectedSlot, boolean dropAll)
282
282
public void setSlot (int slot )
283
283
{
284
284
player .getInventory ().selected = slot -1 ;
285
- player .connection .send (new ClientboundSetCarriedItemPacket (slot -1 ));
285
+ player .connection .send (new ClientboundSetHeldSlotPacket (slot -1 ));
286
286
}
287
287
288
288
public enum ActionType
@@ -314,12 +314,12 @@ boolean execute(ServerPlayer player, Action action)
314
314
BlockHitResult blockHit = (BlockHitResult ) hit ;
315
315
BlockPos pos = blockHit .getBlockPos ();
316
316
Direction side = blockHit .getDirection ();
317
- if (pos .getY () < player .level ().getMaxBuildHeight () - (side == Direction .UP ? 1 : 0 ) && world .mayInteract (player , pos ))
317
+ if (pos .getY () < player .level ().getMaxY () - (side == Direction .UP ? 1 : 0 ) && world .mayInteract (player , pos ))
318
318
{
319
319
InteractionResult result = player .gameMode .useItemOn (player , world , player .getItemInHand (hand ), hand , blockHit );
320
- if (result . consumesAction () )
320
+ if (result instanceof InteractionResult . Success success )
321
321
{
322
- if (result . shouldSwing () ) player .swing (hand );
322
+ if (success . swingSource () == InteractionResult . SwingSource . SERVER ) player .swing (hand );
323
323
ap .itemUseCooldown = 3 ;
324
324
return true ;
325
325
}
@@ -402,17 +402,17 @@ boolean execute(ServerPlayer player, Action action) {
402
402
boolean blockBroken = false ;
403
403
if (player .gameMode .getGameModeForPlayer ().isCreative ())
404
404
{
405
- player .gameMode .handleBlockBreakAction (pos , ServerboundPlayerActionPacket .Action .START_DESTROY_BLOCK , side , player .level ().getMaxBuildHeight (), -1 );
405
+ player .gameMode .handleBlockBreakAction (pos , ServerboundPlayerActionPacket .Action .START_DESTROY_BLOCK , side , player .level ().getMaxY (), -1 );
406
406
ap .blockHitDelay = 5 ;
407
407
blockBroken = true ;
408
408
}
409
409
else if (ap .currentBlock == null || !ap .currentBlock .equals (pos ))
410
410
{
411
411
if (ap .currentBlock != null )
412
412
{
413
- player .gameMode .handleBlockBreakAction (ap .currentBlock , ServerboundPlayerActionPacket .Action .ABORT_DESTROY_BLOCK , side , player .level ().getMaxBuildHeight (), -1 );
413
+ player .gameMode .handleBlockBreakAction (ap .currentBlock , ServerboundPlayerActionPacket .Action .ABORT_DESTROY_BLOCK , side , player .level ().getMaxY (), -1 );
414
414
}
415
- player .gameMode .handleBlockBreakAction (pos , ServerboundPlayerActionPacket .Action .START_DESTROY_BLOCK , side , player .level ().getMaxBuildHeight (), -1 );
415
+ player .gameMode .handleBlockBreakAction (pos , ServerboundPlayerActionPacket .Action .START_DESTROY_BLOCK , side , player .level ().getMaxY (), -1 );
416
416
boolean notAir = !state .isAir ();
417
417
if (notAir && ap .curBlockDamageMP == 0 )
418
418
{
@@ -435,7 +435,7 @@ else if (ap.currentBlock == null || !ap.currentBlock.equals(pos))
435
435
ap .curBlockDamageMP += state .getDestroyProgress (player , player .level (), pos );
436
436
if (ap .curBlockDamageMP >= 1 )
437
437
{
438
- player .gameMode .handleBlockBreakAction (pos , ServerboundPlayerActionPacket .Action .STOP_DESTROY_BLOCK , side , player .level ().getMaxBuildHeight (), -1 );
438
+ player .gameMode .handleBlockBreakAction (pos , ServerboundPlayerActionPacket .Action .STOP_DESTROY_BLOCK , side , player .level ().getMaxY (), -1 );
439
439
ap .currentBlock = null ;
440
440
ap .blockHitDelay = 5 ;
441
441
blockBroken = true ;
@@ -457,7 +457,7 @@ void inactiveTick(ServerPlayer player, Action action)
457
457
EntityPlayerActionPack ap = ((ServerPlayerInterface ) player ).getActionPack ();
458
458
if (ap .currentBlock == null ) return ;
459
459
player .level ().destroyBlockProgress (-1 , ap .currentBlock , -1 );
460
- player .gameMode .handleBlockBreakAction (ap .currentBlock , ServerboundPlayerActionPacket .Action .ABORT_DESTROY_BLOCK , Direction .DOWN , player .level ().getMaxBuildHeight (), -1 );
460
+ player .gameMode .handleBlockBreakAction (ap .currentBlock , ServerboundPlayerActionPacket .Action .ABORT_DESTROY_BLOCK , Direction .DOWN , player .level ().getMaxY (), -1 );
461
461
ap .currentBlock = null ;
462
462
}
463
463
},
0 commit comments