Java label and break error
<p>Here's the code after Joachim's solution:</p>

<p><a href="http://codepad.org/AB2gu59t" rel="nofollow">http://codepad.org/AB2gu59t</a></p>

<p>Here are the errors I get now:</p>

<blockquote>
  <p>Scripts\OHDHerblaw.java:109: error: undefined label: label1084
          if (getInventoryCount(new int[] { this.Herb }) == 0) if (getInventoryCou nt(new int[] { this.Unfinished }) == 0) if
  (getInventoryCount(new int[] { this.I dentified }) == 0) break
  label417;  if (getInventoryCount(new int[] { this.Vials  }) != 0) if
  (getInventoryCount(new int[] { this.Identified }) != 0) { if (getIn
  ventoryCount(new int[] { this.Vials }) != 0) if (getInventoryCount(new
  int[] { t his.Identified }) != 0) break label1084; if
  (getInventoryCount(new int[] { this. Unfinished }) != 0)</p>
  
  <p>Scripts\OHDHerblaw.java:110: error: undefined label: label1084
                break label1084; }</p>
  
  <p>Scripts\OHDHerblaw.java:201: error: undefined label: label1391
                  break label1391;</p>
  
  <p>Scripts\OHDHerblaw.java:202: error: undefined label: label1706
          if (getInventoryCount(new int[] { this.Vials }) != 0) if (getInventoryCo unt(new int[] { this.Identified }) != 0) { if
  (getInventoryCount(new int[] { thi s.Vials }) != 0) if
  (getInventoryCount(new int[] { this.Identified }) != 0) brea k
  label1706; if (getInventoryCount(new int[] { this.Unfinished }) != 0)</p>
  
  <p>Scripts\OHDHerblaw.java:203: error: undefined label: label1706
                break label1706; }</p>
  
  <p>5 errors</p>
</blockquote>

<p>I'm not sure how to define the labels.</p>

<p>Well after some struggle, I got it to work. Here's the modified code if anyone's interested.</p>

<pre><code>import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class OHDHerblaw extends Script {

   int Herb;
   int Identified = 0;
   int Unfinished;
   int Ingrediant;
   int potsMade;
   int Vials = 464;
   int[] POTARRAY = new int[]{222, 474, 477, 480, 483, 486, 489, 492, 495, 498, 566, 569, 570};
   int[] UNIDARRAY = new int[0];
   int[] IDARRAY = new int[0];
   boolean onlyId = false;
   boolean idHerbs = false;
   boolean isMixing = false;
   boolean unfinishedOnly = false;


   public OHDHerblaw(Extension var1) {
      super(var1);
   }

   public void init(String var1) {
      String[] var2 = var1.trim().replaceAll(" ", "").split(",");
      if(!var2[0].equals("")) {
         this.Herb = Integer.parseInt(var2[0]);
         if(this.Herb &lt;= 443) {
            if(this.Herb == 165 || this.Herb &gt;= 435 &amp;&amp; this.Herb &lt;= 443) {
               this.idHerbs = true;
               this.unfinishedOnly = false;
               if(this.Herb == 165) {
                  this.Identified = 444;
                  this.Unfinished = 454;
               } else if(this.Herb &gt; 165) {
                  this.Identified = this.Herb + 10;
                  this.Unfinished = this.Herb + 20;
               }
            }
         } else if(this.Herb &gt;= 444) {
            if(this.Herb &gt;= 444 &amp;&amp; this.Herb &lt;= 453) {
               this.Herb -= 10;
               this.Identified = this.Herb + 10;
               this.Unfinished = this.Herb + 20;
               this.idHerbs = false;
               this.unfinishedOnly = false;
            } else if(this.Herb &gt;= 454 &amp;&amp; this.Herb &lt;= 463) {
               this.Herb -= 20;
               this.Identified = this.Herb + 10;
               this.Unfinished = this.Herb + 20;
               this.idHerbs = false;
               this.unfinishedOnly = true;
            }
         } else {
            System.out.println("That\'s is not a valid Herb Id...");
            this.stopScript();
         }
      }

      if(!var2[1].equals("")) {
         this.Ingrediant = Integer.parseInt(var2[1]);
         if(this.Ingrediant != 270 &amp;&amp; this.Ingrediant != 473 &amp;&amp; this.Ingrediant != 220 &amp;&amp; this.Ingrediant != 219 &amp;&amp; this.Ingrediant != 471 &amp;&amp; this.Ingrediant != 469 &amp;&amp; this.Ingrediant != 472 &amp;&amp; this.Ingrediant != 501) {
            System.out.println("No ingredient selected. We will not be making full potions...");
            this.Ingrediant = 0;
            this.isMixing = false;
         } else {
            this.isMixing = true;
         }
      }

      if(this.unfinishedOnly &amp;&amp; !this.isMixing) {
         System.out.println("Not possible, please re-check script setup...");
         this.stopScript();
      }

   }

   public int main() {

      if(this.getFatigue() &gt;= 90) {
         this.useSleepingBag();
         return this.random(800, 1000);
      } else {
         if(!this.onlyId) {
            int[] var1;
            if(this.isMixing) {
               if(this.idHerbs &amp;&amp; this.getInventoryCount(new int[]{this.Herb}) &gt; 0) {
                  this.useItem(this.getInventoryIndex(new int[]{this.Herb}));
                  return this.random(200, 350);
               }

               if(this.getInventoryCount(new int[]{this.Identified}) &gt; 0 &amp;&amp; this.getInventoryCount(new int[]{this.Vials}) &gt; 0 &amp;&amp; this.getInventoryCount(new int[]{this.Herb}) == 0) {
                  this.useItemWithItem(this.getInventoryIndex(new int[]{this.Identified}), this.getInventoryIndex(new int[]{this.Vials}));
                  return this.random(200, 350);
               }

               if(this.getInventoryCount(new int[]{this.Ingrediant}) &gt; 0 &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) &gt; 0) {
                  this.useItemWithItem(this.getInventoryIndex(new int[]{this.Ingrediant}), this.getInventoryIndex(new int[]{this.Unfinished}));
                  return this.random(500, 600);
               }

               if(this.getInventoryCount(new int[]{this.Herb}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Identified}) == 0 || this.getInventoryCount(new int[]{this.Vials}) == 0 || this.getInventoryCount(new int[]{this.Identified}) == 0 || (this.getInventoryCount(new int[]{this.Vials}) == 0 || this.getInventoryCount(new int[]{this.Identified}) == 0) &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) == 0) {
                  if(this.isQuestMenu()) {
                     this.answer(0);
                     return this.random(2000, 3000);
                  }

                  if(this.isBanking()) {
                     int var2;
                     if(this.unfinishedOnly) {
                        if(this.getInventoryCount(new int[]{this.Ingrediant}) == 0 || this.getInventoryCount(new int[]{this.Unfinished}) == 0) {
                           for(var2 = 0; var2 &lt; this.POTARRAY.length; ++var2) {
                              if(this.getInventoryCount(new int[]{this.POTARRAY[var2]}) &gt; 0) {
                                 this.deposit(this.POTARRAY[var2], this.getInventoryCount(new int[]{this.POTARRAY[var2]}));
                                 return this.random(1250, 1500);
                              }
                           }
                        }

                        if(this.getInventoryCount(new int[]{this.Unfinished}) == 0) {
                           this.withdraw(this.Unfinished, 14);
                           return this.random(1500, 2000);
                        }

                        if(this.getInventoryCount(new int[]{this.Ingrediant}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) &gt; 0) {
                           this.withdraw(this.Identified, this.getInventoryCount(new int[]{this.Unfinished}));
                           return this.random(1500, 2000);
                        }

                        this.closeBank();
                        return this.random(200, 300);
                     }

                     if(!this.unfinishedOnly) {
                        if(this.getInventoryCount(new int[]{this.Ingrediant}) == 0 || this.getInventoryCount(new int[]{this.Unfinished}) == 0) {
                           for(var2 = 0; var2 &lt; this.POTARRAY.length; ++var2) {
                              if(this.getInventoryCount(new int[]{this.POTARRAY[var2]}) &gt; 0) {
                                 this.deposit(this.POTARRAY[var2], this.getInventoryCount(new int[]{this.POTARRAY[var2]}));
                                 return this.random(1250, 1500);
                              }
                           }
                        }

                        if(this.getInventoryCount(new int[]{this.Unfinished}) &gt; 0) {
                           this.withdraw(this.Ingrediant, this.getInventoryCount(new int[]{this.Unfinished}));
                           this.closeBank();
                           return this.random(2000, 3000);
                        }

                        if(this.getInventoryCount(new int[]{this.Vials}) == 0) {
                           this.withdraw(this.Vials, 14);
                           return this.random(1000, 1500);
                        }

                        if(this.getInventoryCount(new int[]{this.Herb}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Identified}) == 0 &amp;&amp; this.idHerbs) {
                           this.withdraw(this.Herb, 14);
                           return this.random(2000, 3000);
                        }

                        if(this.getInventoryCount(new int[]{this.Identified}) == 0) {
                           this.withdraw(this.Identified, 14);
                           return this.random(1000, 1500);
                        }

                        this.closeBank();
                        return this.random(1000, 1500);
                     }
                  }

                  var1 = this.getNpcByIdNotTalk(this.BANKERS);
                  if(var1[0] != -1 &amp;&amp; !this.isBanking() &amp;&amp; !this.isQuestMenu() &amp;&amp; this.getInventoryCount(new int[]{this.Ingrediant}) == 0) {
                     this.talkToNpc(var1[0]);
                     return this.random(3250, 3500);
                  }
               }
            }

            if(!this.isMixing) {
               if(this.idHerbs &amp;&amp; this.getInventoryCount(new int[]{this.Herb}) &gt; 0) {
                  this.useItem(this.getInventoryIndex(new int[]{this.Herb}));
                  return this.random(200, 350);
               }

               if(this.getInventoryCount(new int[]{this.Identified}) &gt; 0 &amp;&amp; this.getInventoryCount(new int[]{this.Vials}) &gt; 0 &amp;&amp; this.getInventoryCount(new int[]{this.Herb}) == 0) {
                  this.useItemWithItem(this.getInventoryIndex(new int[]{this.Identified}), this.getInventoryIndex(new int[]{this.Vials}));
                  return this.random(200, 350);
               }

               if(this.getInventoryCount(new int[]{this.Herb}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Vials}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Identified}) == 0 || this.getInventoryCount(new int[]{this.Vials}) == 0 || this.getInventoryCount(new int[]{this.Identified}) == 0 || (this.getInventoryCount(new int[]{this.Vials}) == 0 || this.getInventoryCount(new int[]{this.Identified}) == 0) &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) == 0) {
                  if(this.isQuestMenu()) {
                     this.answer(0);
                     return this.random(2000, 3000);
                  }

                  if(this.isBanking()) {
                     if(this.getInventoryCount(new int[]{this.Herb}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Unfinished}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Vials}) == 0 &amp;&amp; this.getInventoryCount(new int[]{this.Identified}) == 0 &amp;&amp; this.idHerbs) {
                        this.withdraw(this.Herb, 14);
                        return this.random(2000, 3000);
                     }

                     if(this.getInventoryCount(new int[]{this.Unfinished}) &gt; 0) {
                        this.deposit(this.Unfinished, this.getInventoryCount(new int[]{this.Unfinished}));
                        return this.random(200, 300);
                     }

                     if(this.getInventoryCount(new int[]{this.Vials}) == 0) {
                        this.withdraw(this.Vials, 14);
                        return this.random(1000, 1500);
                     }

                     if(this.getInventoryCount(new int[]{this.Identified}) == 0) {
                        this.withdraw(this.Identified, 14);
                        return this.random(1000, 1500);
                     }

                     this.closeBank();
                     return this.random(1000, 1500);
                  }

                  var1 = this.getNpcByIdNotTalk(this.BANKERS);
                  if(var1[0] != -1 &amp;&amp; !this.isBanking() &amp;&amp; !this.isQuestMenu()) {
                     this.talkToNpc(var1[0]);
                     return this.random(3500, 3750);
                  }
               }
            }
         }

         return this.random(200, 300);
      }
   }
}
</code></pre>
