@SubscribeEvent
  public void onPacketData(ServerCustomPacketEvent event) {
    if (event.getPacket().channel().equals(ForgeWorldEdit.CUI_PLUGIN_CHANNEL)) {
      EntityPlayerMP player = getPlayerFromEvent(event);
      LocalSession session = ForgeWorldEdit.inst.getSession((EntityPlayerMP) player);

      if (session.hasCUISupport()) {
        return;
      }

      String text = event.getPacket().payload().toString(UTF_8_CHARSET);
      session.handleCUIInitializationMessage(text);
      session.describeCUI(ForgeWorldEdit.inst.wrap(player));
    }
  }
  @Override
  public void handlePayload(ChannelBuf data, RemoteConnection connection, Platform.Type side) {
    if (connection instanceof PlayerConnection) {
      Player player = ((PlayerConnection) connection).getPlayer();

      LocalSession session = SpongeWorldEdit.inst().getSession(player);

      if (session.hasCUISupport()) {
        return;
      }

      session.handleCUIInitializationMessage(
          new String(data.readBytes(data.available()), StandardCharsets.UTF_8));
      session.describeCUI(SpongeWorldEdit.inst().wrapPlayer(player));
    }
  }