Need help giving losing teams rewards

Discussion in 'Spigot Plugin Development' started by VinexAx789, Jun 13, 2015.

  1. Hello I need some help giving the loosing teams rewards in my minigame I have done the winners rewards but I'm struggling and sorta confused and mixed up on how to do it here's my code for my winner rewards, I'm using the VAULT API too.

    CODE:
    PHP:
    public void end(int winner){
        //0 green
        //1 red
        //2 blue
        //3 purple
        //4 draw
        ended = true;
        if(winner == 0){
            for(Player p : greenplayers){
                 econ1.depositPlayer(p.getPlayer(), 3);
                 p.getPlayer().sendMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Game Reward §f§l> §f§l§n3§r §a§lCoins");
             }
           
             Title title = new Title("","§a§lGreen Team wins");
             title.setTimingsToTicks();
             title.setFadeOutTime(10);
             title.setFadeInTime(10);
             title.broadcast();
                new BukkitRunnable() {
                    int counter = 8;
                    public void run() {
                            counter = counter - 1;
                            for(Player p : greenplayers){
                                if(p.isOnline()){
                                     Firework fw = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
                                     FireworkMeta fwm = fw.getFireworkMeta();
                                     Random r = new Random();  
                                     int rt = r.nextInt(4) + 1;
                                     Type type = Type.BALL;      
                                     if (rt == 1) type = Type.BALL;
                                     if (rt == 2) type = Type.BALL_LARGE;
                                     if (rt == 3) type = Type.BURST;
                                     if (rt == 4) type = Type.CREEPER;
                                     if (rt == 5) type = Type.STAR;
                                     Color c1 = Color.LIME;
                                     Color c2 = Color.LIME;
                                     FireworkEffect effect = FireworkEffect.builder().flicker(r.nextBoolean()).withColor(c1).withFade(c2).with(type).trail(r.nextBoolean()).build();
                                     fwm.addEffect(effect);
                                     int rp = r.nextInt(2) + 1;
                                     fwm.setPower(rp);
                                     fw.setFireworkMeta(fwm);
                                }
                            }
                            if(counter == 0){
                                cancel();
                            }
                       
                    }
                }.runTaskTimer(this, 20L, 20L);
           
        }else if(winner == 1){
             for(Player p : redplayers){
                 econ1.depositPlayer(p.getPlayer(), 3);
                 p.getPlayer().sendMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Game Reward §f§l> §f§l§n3§r §a§lCoins");
             }
             Title title = new Title("","§cRed team wins!");
             title.setTimingsToTicks();
             title.setFadeOutTime(10);
             title.setFadeInTime(10);
             title.broadcast();

                new BukkitRunnable() {
                    int counter = 8;
                    public void run() {
                            counter = counter - 1;
                            for(Player p : redplayers){
                                if(p.isOnline()){
                                     Firework fw = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
                                     FireworkMeta fwm = fw.getFireworkMeta();
                                     Random r = new Random();  
                                     int rt = r.nextInt(4) + 1;
                                     Type type = Type.BALL;      
                                     if (rt == 1) type = Type.BALL;
                                     if (rt == 2) type = Type.BALL_LARGE;
                                     if (rt == 3) type = Type.BURST;
                                     if (rt == 4) type = Type.CREEPER;
                                     if (rt == 5) type = Type.STAR;
                                     Color c1 = Color.RED;
                                     Color c2 = Color.RED;
                                     FireworkEffect effect = FireworkEffect.builder().flicker(r.nextBoolean()).withColor(c1).withFade(c2).with(type).trail(r.nextBoolean()).build();
                                     fwm.addEffect(effect);
                                     int rp = r.nextInt(2) + 1;
                                     fwm.setPower(rp);
                                     fw.setFireworkMeta(fwm);
       
                                }
                            }
                            if(counter == 0){
                                cancel();
                            }
                       
                    }
                }.runTaskTimer(this, 20L, 20L);
        }else if(winner == 2){
             for(Player p : blueplayers){
                 econ1.depositPlayer(p.getPlayer(), 3);
                 p.getPlayer().sendMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Game Reward §f§l> §f§l§n3§r §a§lCoins");
             }
             Title title = new Title("","§9Blue team wins!");
             title.setTimingsToTicks();
             title.setFadeOutTime(10);
             title.setFadeInTime(10);
             title.broadcast();
                new BukkitRunnable() {
                    int counter = 8;
                    public void run() {
                            counter = counter - 1;
                            for(Player p : blueplayers){
                                if(p.isOnline()){
                                     Firework fw = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
                                     FireworkMeta fwm = fw.getFireworkMeta();
                                     Random r = new Random();  
                                     int rt = r.nextInt(4) + 1;
                                     Type type = Type.BALL;      
                                     if (rt == 1) type = Type.BALL;
                                     if (rt == 2) type = Type.BALL_LARGE;
                                     if (rt == 3) type = Type.BURST;
                                     if (rt == 4) type = Type.CREEPER;
                                     if (rt == 5) type = Type.STAR;
                                     Color c1 = Color.BLUE;
                                     Color c2 = Color.BLUE;
                                     FireworkEffect effect = FireworkEffect.builder().flicker(r.nextBoolean()).withColor(c1).withFade(c2).with(type).trail(r.nextBoolean()).build();
                                     fwm.addEffect(effect);
                                     int rp = r.nextInt(2) + 1;
                                     fwm.setPower(rp);
                                     fw.setFireworkMeta(fwm);
                                     /*econ1.depositPlayer(p.getPlayer(), 3);
                                     p.getPlayer().sendMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Game Reward §f§l> §f§l§n3§r §a§lCoins");*/

                                }
                            }
                            if(counter == 0){
                                cancel();
                            }
                       
                    }
                }.runTaskTimer(this, 20L, 20L);
        }else if(winner == 3){
             for(Player p : purpleplayers){
                 econ1.depositPlayer(p.getPlayer(), 3);
                 p.getPlayer().sendMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Game Reward §f§l> §f§l§n3§r §a§lCoins");
             }
             Title title = new Title("","§5Purple team wins!");
             title.setTimingsToTicks();
             title.setFadeOutTime(10);
             title.setFadeInTime(10);
             title.broadcast();
                new BukkitRunnable() {
                    int counter = 8;
                    public void run() {
                            counter = counter - 1;
                            for(Player p : purpleplayers){
                                if(p.isOnline()){
                                     Firework fw = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
                                     FireworkMeta fwm = fw.getFireworkMeta();
                                     Random r = new Random();  
                                     int rt = r.nextInt(4) + 1;
                                     Type type = Type.BALL;      
                                     if (rt == 1) type = Type.BALL;
                                     if (rt == 2) type = Type.BALL_LARGE;
                                     if (rt == 3) type = Type.BURST;
                                     if (rt == 4) type = Type.CREEPER;
                                     if (rt == 5) type = Type.STAR;
                                     Color c1 = Color.PURPLE;
                                     Color c2 = Color.PURPLE;
                                     FireworkEffect effect = FireworkEffect.builder().flicker(r.nextBoolean()).withColor(c1).withFade(c2).with(type).trail(r.nextBoolean()).build();
                                     fwm.addEffect(effect);
                                     int rp = r.nextInt(2) + 1;
                                     fwm.setPower(rp);
                                     fw.setFireworkMeta(fwm);
                                     /*econ1.depositPlayer(p.getPlayer(), 3);
                                     p.getPlayer().sendMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Game Reward §f§l> §f§l§n3§r §a§lCoins");**/

                               
                                }
                            }
                            if(counter == 0){
                                cancel();
                            }
                       
                    }
                }.runTaskTimer(this, 20L, 20L);
        }else if(winner == 4){
            Bukkit.broadcastMessage("§7§lDraw");
             Title title = new Title("","§7§lDraw");
             title.setTimingsToTicks();
             title.setFadeOutTime(10);
             title.setFadeInTime(10);
             title.broadcast();
                new BukkitRunnable() {
                    int counter = 8;
                    public void run() {
                            counter = counter - 1;
                            for(Player p : players){
                                if(p.isOnline()){
                                     Firework fw = (Firework) p.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
                                     FireworkMeta fwm = fw.getFireworkMeta();
                                     Random r = new Random();
                                     int rt = r.nextInt(4) + 1;
                                     Type type = Type.BALL;      
                                     if (rt == 1) type = Type.BALL;
                                     if (rt == 2) type = Type.BALL_LARGE;
                                     if (rt == 3) type = Type.BURST;
                                     if (rt == 4) type = Type.CREEPER;
                                     if (rt == 5) type = Type.STAR;
                                     Color c1 = Color.WHITE;
                                     Color c2 = Color.WHITE;
                                     FireworkEffect effect = FireworkEffect.builder().flicker(r.nextBoolean()).withColor(c1).withFade(c2).with(type).trail(r.nextBoolean()).build();
                                     fwm.addEffect(effect);
                                     int rp = r.nextInt(2) + 1;
                                     fwm.setPower(rp);
                                     fw.setFireworkMeta(fwm);                          
                                }
                            }
                            if(counter == 0){
                                cancel();
                            }
                       
                    }
                }.runTaskTimer(this, 20L, 20L);
        }
    I really need some help.
     
  2. What are you having problems with?
     
  3. Trying to figure out how to find the loosing teams because there can only be one winner.
    Sorry if I'm confusing. Lol
     
  4. Try using a for-loop to go through the 4 numbers (representing the teams) and compare them to the variable the method takes called 'winner' and if it's not equal do whatever you want to do with the players on that team.
     
  5. Why aren't you already storing both teams? That's poor coding.
     
  6. Thanks I will try it.

    There's 4 Teams....
     
  7. Even if there's 100 teams, you should be keeping track of each of them.

    Code (Text):
    HashSet<Player> greenTeam = new HashSet<Player>();
    HashSet<Player> redTeam = new HashSet<Player>();
    HashSet<Player> purpleTeam = new HashSet<Player>();
    HashSet<Player> blueTeam = new HashSet<Player>();
     
  8. Better yet, why don't you create a Team enum that stores all the players on that team and have a variable that is set to which team that won?
     
  9. True.