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;