/** check the texture packs the client has installed */
  public void updateAvaliableTexturePacks() {
    ArrayList var1 = new ArrayList();
    this.selectedTexturePack = field_77314_a;
    var1.add(field_77314_a);
    Iterator var2 = this.func_77299_i().iterator();

    while (var2.hasNext()) {
      File var3 = (File) var2.next();
      String var4 = this.func_77302_a(var3);

      if (var4 != null) {
        Object var5 = (TexturePackBase) this.field_77308_f.get(var4);

        if (var5 == null) {
          var5 =
              var3.isDirectory()
                  ? new TexturePackFolder(var4, var3)
                  : new TexturePackCustom(var4, var3);
          this.field_77308_f.put(var4, var5);
        }

        if (((TexturePackBase) var5).func_77538_c().equals(this.mc.gameSettings.skin)) {
          this.selectedTexturePack = (TexturePackBase) var5;
        }

        var1.add(var5);
      }
    }

    this.availableTexturePacks.removeAll(var1);
    var2 = this.availableTexturePacks.iterator();

    while (var2.hasNext()) {
      TexturePackBase var6 = (TexturePackBase) var2.next();
      var6.func_77533_a(this.mc.renderEngine);
      this.field_77308_f.remove(var6.func_77536_b());
    }

    this.availableTexturePacks = var1;
  }