Hey,
ich möchte wenn das Event gestartet alle die beigetreten sind (ArrayList) aufgeteilt werden in 2 gleich große Teams.
Dabei soll die Verteilung zufällig sein.
Mein bisheriger Code(nicht ganz funktionable):
Das Problem dabei ist das wenn es eine ungerade Zahl ist (3) nur 2 aufgeteilt werden und der 3. garnicht
LG Axtkämpfer
ich möchte wenn das Event gestartet alle die beigetreten sind (ArrayList) aufgeteilt werden in 2 gleich große Teams.
Dabei soll die Verteilung zufällig sein.
Mein bisheriger Code(nicht ganz funktionable):
Javascript:
public static boolean event = false;
public static ArrayList<Player> list = new ArrayList<>();
public static ArrayList<Player> team1 = new ArrayList<>();
public static ArrayList<Player> team2 = new ArrayList<>();
public static ArrayList<Player> ingame = new ArrayList<>();
if(list.size() >= 0) {
Bukkit.broadcastMessage("§7[§.§7] Das Event wurde §agestartet!\n§7 Die Teams wurden aufgeteilt! ");
Bukkit.broadcastMessage("§7[§.§7] Team 1: Verteidigen!");
Bukkit.broadcastMessage("§7[§.§7] Team 2: Angreifen!");
int half = list.size() / 2;
for(int i2= 0;i2<list.size(); i2++) {
Player target2 = list.get(i2);
if(target2 != null) {
for(int i = 0;i< half; i++) {
///VERTEIDIGER!
Player target = list.get(i);
File file = new File("plugins//.//Event//Punkte.yml");
YamlConfiguration cfg = new YamlConfiguration().loadConfiguration(file);
Location loc = target.getLocation();
loc.setX(cfg.getDouble("1.X"));
loc.setY(cfg.getDouble("1.Y"));
loc.setZ(cfg.getDouble("1.Z"));
loc.setYaw((float) cfg.getDouble("1.Yaw"));
loc.setPitch((float) cfg.getDouble("1.Pitch"));
World welt = Bukkit.getWorld(cfg.getString("1.Welt"));
loc.setWorld(welt);
target.teleport(loc);
Inventory inv = Bukkit.createInventory(null, 9,"§eWähle ein Kit");
ItemStack item = new ItemStack(Material.IRON_SWORD);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("§7Kämpfer");
item.setItemMeta(meta);
///
ItemStack item2 = new ItemStack(Material.BOW);
ItemMeta meta2 = item2.getItemMeta();
meta2.setDisplayName("§7Jäger");
item2.setItemMeta(meta2);
///
ItemStack item3 = new ItemStack(Material.POTION);
item3.setDurability((byte)16385);
ItemMeta meta3 = item3.getItemMeta();
meta3.setDisplayName("§7Heiler");
item3.setItemMeta(meta3);
inv.setItem(0, item);
inv.setItem(8, item3);
inv.setItem(4, item2);
target.openInventory(inv);
target.sendMessage("§7[§.§7] Du bist dem Team Verteidiger §a§lbeigetreten!");
team1.add(target);
list.remove(i);
ingame.add(target);
}
for(int i= 0; i < list.size(); i++) {
///ANGREIFER!!!
Player target = list.get(i);
File file = new File("plugins//.//Event//Punkte.yml");
YamlConfiguration cfg = new YamlConfiguration().loadConfiguration(file);
Location loc = target.getLocation();
loc.setX(cfg.getDouble("2.X"));
loc.setY(cfg.getDouble("2.Y"));
loc.setZ(cfg.getDouble("2.Z"));
loc.setYaw((float) cfg.getDouble("2.Yaw"));
loc.setPitch((float) cfg.getDouble("2.Pitch"));
World welt = Bukkit.getWorld(cfg.getString("2.Welt"));
loc.setWorld(welt);
target.teleport(loc);
Inventory inv = Bukkit.createInventory(null, 9,"§eWähle ein Kit");
ItemStack item = new ItemStack(Material.IRON_SWORD);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("§7Kämpfer");
item.setItemMeta(meta);
///
ItemStack item2 = new ItemStack(Material.BOW);
ItemMeta meta2 = item2.getItemMeta();
meta2.setDisplayName("§7Jäger");
item2.setItemMeta(meta2);
///
ItemStack item3 = new ItemStack(Material.POTION);
item3.setDurability((byte)16385);
ItemMeta meta3 = item3.getItemMeta();
meta3.setDisplayName("§7Heiler");
item3.setItemMeta(meta3);
inv.setItem(0, item);
inv.setItem(8, item3);
inv.setItem(4, item2);
target.openInventory(inv);
target.sendMessage("§7[§.§7] Du bist dem Team Angreifer §a§lbeigetreten!");
team2.add(list.get(i));
list.remove(i);
ingame.add(target);
}
}else {
list.remove(target2);
}
}
}else {
p.sendMessage("§7[§.§7] Zu wenig Teilnehmer! "+list.size());
}
Das Problem dabei ist das wenn es eine ungerade Zahl ist (3) nur 2 aufgeteilt werden und der 3. garnicht
LG Axtkämpfer