public void sendDataResponse(
      Frequency given,
      World world,
      EntityPlayer player,
      ItemPortableTeleporter item,
      ItemStack itemstack) {
    List<Frequency> publicFreqs = new ArrayList<Frequency>();

    for (Frequency f : getManager(null, world).getFrequencies()) {
      publicFreqs.add(f);
    }

    List<Frequency> privateFreqs = new ArrayList<Frequency>();

    for (Frequency f : getManager(player.getCommandSenderName(), world).getFrequencies()) {
      privateFreqs.add(f);
    }

    byte status = 3;

    if (given != null) {
      FrequencyManager manager =
          given.isPublic()
              ? getManager(null, world)
              : getManager(player.getCommandSenderName(), world);
      boolean found = false;

      for (Frequency iterFreq : manager.getFrequencies()) {
        if (given.equals(iterFreq)) {
          given = iterFreq;
          found = true;
          break;
        }
      }

      if (!found) {
        given = null;
      }
    }

    if (given != null) {
      if (given.activeCoords.size() == 0) {
        status = 3;
      } else {
        Coord4D coords = given.getClosestCoords(new Coord4D(player));
        double energyNeeded = item.calculateEnergyCost(player, coords);

        if (energyNeeded > item.getEnergy(itemstack)) {
          status = 4;
        } else {
          status = 1;
        }
      }
    }

    Mekanism.packetHandler.sendTo(
        new PortableTeleporterMessage(given, status, publicFreqs, privateFreqs),
        (EntityPlayerMP) player);
  }