@SubscribeEvent
public void onInteract(PlayerInteractEvent.RightClickBlock event) {
if(event.getUseBlock() == Result.DENY)
return;
TileEntity tile = event.getWorld().getTileEntity(event.getPos());
if(tile instanceof TileEntitySign && (!emptyHand || event.getEntityPlayer().getHeldItemMainhand().isEmpty()) && event.getEntityPlayer().capabilities.allowEdit && !event.getEntity().isSneaking()) {
IBlockState state = event.getWorld().getBlockState(event.getPos());
if(state.getBlock().getRegistryName().toString().contains("tcguideposts"))
return;
TileEntitySign sign = (TileEntitySign) tile;
sign.setPlayer(event.getEntityPlayer());
ReflectionHelper.setPrivateValue(TileEntitySign.class, sign, true, LibObfuscation.IS_EDITABLE);
event.getEntityPlayer().openGui(Quark.instance, LibGuiIDs.SIGN, event.getWorld(), event.getPos().getX(), event.getPos().getY(), event.getPos().getZ());
}
}