@Override public void onProtectionInteract(LWCProtectionInteractEvent event) { LWC lwc = event.getLWC(); Protection protection = event.getProtection(); Set<String> actions = event.getActions(); boolean canAccess = event.canAccess(); Player bPlayer = event.getPlayer(); LWCPlayer player = lwc.wrapPlayer(bPlayer); if (!actions.contains("dropTransferSelect")) { return; } if (!canAccess) { lwc.sendLocale(player, "protection.interact.dropxfer.noaccess"); } else { if (protection.getBlockId() != Material.CHEST.getId()) { lwc.sendLocale(player, "protection.interact.dropxfer.notchest"); player.removeAllActions(); event.setResult(Result.CANCEL); return; } Mode mode = new Mode(); mode.setName("dropTransfer"); mode.setData(protection.getId() + ""); mode.setPlayer(bPlayer); player.enableMode(mode); mode = new Mode(); mode.setName("+dropTransfer"); mode.setPlayer(bPlayer); player.enableMode(mode); lwc.sendLocale(player, "protection.interact.dropxfer.finalize"); } player.removeAllActions(); // ignore the persist mode }