Item Mindestanzahl

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

Item Mindestanzahl

Beitragvon Doctorintro » Fr 20. Mär 2015, 17:36

Hallo Leute ich habe mal wieder ein Problem.
Ich habe eine ArrayList in welcher Itemstacks mit der Eigenschaft des Materiales und der Anzahl gespeichert ist.
Und dieser Code wird verwendet um zu prüfen ob der Itemstack im Inventar vorhanden ist:
Code: Alles auswählen
  1. public class PlayerShoping implements Runnable {
  2.    Player p;
  3.    Job job;
  4.    Thread thread;
  5.    Inventory inv;
  6.    
  7.    public PlayerShoping(Player play, Thread thread) {
  8.       this.p = play;
  9.       this.job = JobManager.getJob(p);
  10.       this.thread = thread;
  11.       this.inv = JobCenter.inv.get(p.getName());
  12.       if(inv == null){
  13.          inv = Bukkit.createInventory(null, 9*3, "§bVerkaufe");
  14.          JobCenter.inv.put(p.getName(), inv);
  15.       }
  16.    }
  17.    
  18.    @Override
  19.    public void run() {
  20.       double a = 0;
  21.       Account account = Common.getInstance().getAccountManager().getAccount(p.getName(), false);
  22.       Currency curren = Common.getInstance().getCurrencyManager().getDefaultCurrency();
  23.       double r = 0;
  24.       for (Balance bl : account.getAllBalance()) {
  25.          r = bl.getBalance();
  26.       }
  27.       
  28.       while(inv.getViewers().contains(p)){
  29.          if(job == null){
  30.             p.closeInventory();
  31.             p.sendMessage("§eDu hast Momentan keinen Job. Bitte Join Neu oder Melde es einen Teammitglied.");
  32.             try{thread.interrupt();}catch(NullPointerException ex){}
  33.             return;
  34.          }else{
  35.             if(job.getShop().isEmpty()){
  36.                p.closeInventory();
  37.                p.sendMessage("§eDu hast Momentan keine Jobangebote.");
  38.                try{thread.interrupt();}catch(NullPointerException ex){}
  39.                return;
  40.             }
  41.             for (ItemStack is : job.getShop().keySet()) {
  42.                if (inv.contains(is)) {
  43.                   inv.remove(is);
  44.                   double d = job.getShop().get(is);
  45.                   a = a+d;
  46.                   double x = r+a;
  47.                   account.set(x, p.getWorld().getName(), curren.getName(), Cause.PLUGIN, null);
  48.                }
  49.             }
  50.          }
  51.          try {Thread.sleep((long)1000);} catch (InterruptedException e) {e.printStackTrace();}
  52.       }
  53.       double z = 0;
  54.       double d = 0;
  55.       for (Balance bl : account.getAllBalance()) {
  56.          z = bl.getBalance()-r;
  57.          d = bl.getBalance();
  58.          return;
  59.       }
  60.       p.sendMessage("§aDu hast nun §e"+d+" §adas ist ein + von §e"+z);
  61.       try{thread.interrupt();}catch(NullPointerException ex){}
  62.    }
  63. }

Allerdings funktioniert der Code nur wenn man die Selbe anzahl wie festgelegt reinlegt.Allerdings soll man auch mehr reinlegen können und dann nur die Festgelegte anzahl entfernen.
Benutzeravatar
Doctorintro
 
Beiträge: 97
Registriert: Sa 19. Apr 2014, 14:38

Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 23 Gäste

cron