Yellowphoenix18
Vorarbeiter
Hey,ich habe für ein neues Plugin eine Teamverteilung geschrieben,doch leider erhalte ich eine NullPointerException beim Random, hier der Code:
Fehlermeldung:
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: