player.sendBlockChange(clicked.getLocation(), Material.AIR, (byte) 0);
return;
}
// call interact event
PlayerInteractEvent event = EventFactory.onPlayerInteract(player, action, clicked, face);
//GlowServer.logger.info("Interact: " + action + " " + clicked + " " + face);
// attempt to use interacted block
// DEFAULT is treated as ALLOW, and sneaking is always considered
boolean useInteractedBlock = event.useInteractedBlock() != Event.Result.DENY;
if (useInteractedBlock && clicked != null && (!player.isSneaking() || holding == null)) {
BlockType blockType = ItemTable.instance().getBlock(clicked.getType());
useInteractedBlock = blockType.blockInteract(player, clicked, face, clickedLoc);
} else {
useInteractedBlock = false;
}
// attempt to use item in hand
// follows ALLOW/DENY: default to if no block was interacted with
if (selectResult(event.useItemInHand(), !useInteractedBlock) && holding != null) {
// call out to the item type to determine the appropriate right-click action
ItemType type = ItemTable.instance().getItem(holding.getType());
if (clicked == null) {
type.rightClickAir(player, holding);
} else {