• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Teamverteilung

Yellowphoenix18

Vorarbeiter
Registriert
26 März 2013
Beiträge
287
Alter
26
Diamanten
300
Minecraft
YellowPhoenix18
Hey,ich habe für ein neues Plugin eine Teamverteilung geschrieben,doch leider erhalte ich eine NullPointerException beim Random, hier der Code:
Code:
package de.mcDungeon.Pirates.Teams;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

import de.mcDungeon.Pirates.Main;

public class TeamClass {

   public static List<Player> pirates = new ArrayList<Player>();
   public static List<Player> english = new ArrayList<Player>();
 
   public static void checkTeams() {
   
     for(Player all : Bukkit.getOnlinePlayers()) {
       if(!pirates.contains(all) && !english.contains(all)) {
         if(pirates.size() > english.size()) {
           english.add(all);
         } else if(pirates.size() < english.size()) {
           pirates.add(all);
         } else {
           Random r = new Random();
           int x = r.nextInt(2) + 1;
           if(x == 1) {
             pirates.add(all);
           } else {
             english.add(all);
           }
         }
       }
     }
   
     if(pirates.size() >= english.size() + 1) {
       int x = pirates.size() - english.size();
       while(x >= 0) {
         x --;
         Random r = new Random();
         int z = r.nextInt(pirates.size());
         Player p = pirates.get(z);
         pirates.remove(z);
         english.add(p);
       }
     
     } else if(english.size() >= pirates.size() + 1) {
       int x = english.size() - pirates.size();
       while(x >= 0) {
         x --;
         Random r = new Random();
         int z = r.nextInt(english.size());
         Player p = english.get(z);
         english.remove(z);
         pirates.add(p);
       }     
     }
   
     for(Player all : Bukkit.getOnlinePlayers()) {
       updateTablist(all);
     }
     System.out.println(Main.name + " Die Teams wurden verteilt!");
   }

   public static int getLowerTeam() {
     int piratesint = pirates.size();
     int englishint = english.size();
     if (piratesint >= englishint) {
       return 0;
     } else {
       return 1;
     }

   }
 
   public static void updateTablist(Player p) {
     for(Player all : Bukkit.getOnlinePlayers()) {
       if(english.contains(all)) {
         p.setPlayerListName("§9" + p.getName());
       } else {
         p.setPlayerListName("§0" + p.getName());
       }
     }
   
   
   
   }
}

Fehlermeldung:

Code:
[12:15:28] [Server thread/WARN]: [TheRunners] Task #3 for TheRunners v1.0 generated an exception
java.lang.IllegalArgumentException: n must be positive
   at java.util.Random.nextInt(Random.java:300) ~[?:1.7.0_03]
   at de.mcDungeon.Pirates.Teams.TeamClass.checkTeams(TeamClass.java:42) ~[?:?]
   at de.mcDungeon.Pirates.Tasks$2.run(Tasks.java:142) ~[?:?]
   at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
   at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
   at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
   at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
   at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
   at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
   at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
 
Zuletzt bearbeitet:
Oben