diff --git a/common/src/main/java/org/samo_lego/simpleauth/mixin/MixinSlot.java b/common/src/main/java/org/samo_lego/simpleauth/mixin/MixinSlot.java index b781d5b..3ca726e 100644 --- a/common/src/main/java/org/samo_lego/simpleauth/mixin/MixinSlot.java +++ b/common/src/main/java/org/samo_lego/simpleauth/mixin/MixinSlot.java @@ -16,19 +16,20 @@ public abstract class MixinSlot { // Denying item moving etc. @Inject(method = "canTakeItems(Lnet/minecraft/entity/player/PlayerEntity;)Z", at = @At(value = "HEAD"), cancellable = true) private void canTakeItems(PlayerEntity playerEntity, CallbackInfoReturnable cir) { - ServerPlayerEntity player = (ServerPlayerEntity) playerEntity; - ActionResult result = AuthEventHandler.onTakeItem(player); + if (playerEntity instanceof ServerPlayerEntity player) { + ActionResult result = AuthEventHandler.onTakeItem(player); - if (result == ActionResult.FAIL) { - // Canceling the item taking - player.networkHandler.sendPacket( - new ScreenHandlerSlotUpdateS2CPacket( - -2, - 0, - player.getInventory().selectedSlot, - player.getInventory().getStack(player.getInventory().selectedSlot)) - ); - cir.setReturnValue(false); + if (result == ActionResult.FAIL) { + // Canceling the item taking + player.networkHandler.sendPacket( + new ScreenHandlerSlotUpdateS2CPacket( + -2, + 0, + player.getInventory().selectedSlot, + player.getInventory().getStack(player.getInventory().selectedSlot)) + ); + cir.setReturnValue(false); + } } } }