private void addRfToolsDimensions(
     World world, List<TeleportDestinationClientInfo> destinationList) {
   RfToolsDimensionManager dimensionManager = RfToolsDimensionManager.getDimensionManager(world);
   for (Map.Entry<Integer, DimensionDescriptor> me : dimensionManager.getDimensions().entrySet()) {
     int id = me.getKey();
     TeleportDestination destination = new TeleportDestination(new Coordinate(0, 70, 0), id);
     destination.setName("RfTools Dim: " + id);
     TeleportDestinationClientInfo teleportDestinationClientInfo =
         new TeleportDestinationClientInfo(destination);
     destinationList.add(teleportDestinationClientInfo);
   }
 }
  @Override
  public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
    if (!world.isRemote) {
      int id = player.worldObj.provider.dimensionId;
      RfToolsDimensionManager dimensionManager =
          RfToolsDimensionManager.getDimensionManager(player.worldObj);
      DimensionInformation dimensionInformation = dimensionManager.getDimensionInformation(id);
      if (dimensionInformation == null) {
        Logging.message(player, "Not an RFTools dimension!");
      } else {
        String name = dimensionInformation.getName();
        DimensionStorage storage = DimensionStorage.getDimensionStorage(player.getEntityWorld());
        int power = storage != null ? storage.getEnergyLevel(id) : 0;

        Logging.message(
            player,
            EnumChatFormatting.BLUE
                + "Name: "
                + name
                + " (Id "
                + id
                + ")"
                + EnumChatFormatting.YELLOW
                + "    Power: "
                + power
                + " RF");
        if (player.isSneaking()) {
          Logging.message(
              player,
              EnumChatFormatting.RED
                  + "Description: "
                  + dimensionInformation.getDescriptor().getDescriptionString());
          System.out.println(
              "Description:  = " + dimensionInformation.getDescriptor().getDescriptionString());
        }
      }
      return stack;
    }
    return stack;
  }
  @Override
  public void addInformation(
      ItemStack itemStack, EntityPlayer player, List list, boolean whatIsThis) {
    super.addInformation(itemStack, player, list, whatIsThis);
    int id = player.worldObj.provider.dimensionId;
    RfToolsDimensionManager dimensionManager =
        RfToolsDimensionManager.getDimensionManager(player.worldObj);
    DimensionInformation dimensionInformation = dimensionManager.getDimensionInformation(id);
    if (dimensionInformation == null) {
      list.add("Not an RFTools dimension!");
    } else {
      if (System.currentTimeMillis() - lastTime > 500) {
        lastTime = System.currentTimeMillis();
        PacketHandler.INSTANCE.sendToServer(new PacketGetDimensionEnergy(id));
      }
      String name = dimensionInformation.getName();
      DimensionStorage storage = DimensionStorage.getDimensionStorage(player.getEntityWorld());
      int power = storage != null ? storage.getEnergyLevel(id) : 0;

      list.add(EnumChatFormatting.BLUE + "Name: " + name + " (Id " + id + ")");

      list.add(EnumChatFormatting.YELLOW + "Power: " + power + " RF");
    }
  }