Advertisement
Guest User

Untitled

a guest
Sep 4th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.13 KB | None | 0 0
  1. package me.skelletonx.br.GladiadorReloaded.manager;
  2.  
  3. import java.util.List;
  4.  
  5. import net.sacredlabyrinth.phaed.simpleclans.Clan;
  6. import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.configuration.file.FileConfiguration;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.scheduler.BukkitScheduler;
  12.  
  13. import me.skelletonx.br.GladiadorReloaded.Gladiador;
  14. import me.skelletonx.br.GladiadorReloaded.VariaveisGlobais;
  15.  
  16. public class GladiadorManager {
  17.  
  18.     private Gladiador hg = Gladiador.getGladiador();
  19.     private final FileConfiguration config = hg.getConfig();
  20.     private TeleportesManager tm = new TeleportesManager();
  21.     private VariaveisGlobais vg = hg.vg;
  22.     public int id1, id2;
  23.     public Clan vencedor;
  24.     public List<Player> gladiadores;
  25.     public Player mito;
  26.  
  27.     public void iniciarAnuncios(){
  28.         vg.isAberto = true;
  29.         vg.isOcorrendo = true;
  30.         vg.resetVariaveisSemIS();
  31.         BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  32.         id1 = scheduler.scheduleSyncRepeatingTask(hg, new Runnable() {
  33.             @Override
  34.             public void run() {
  35.                 if(vg.quantMensagens >= 0){
  36.                     for (String s : config.getStringList("Mensagens_Player.Anuncio_Aberto")) {
  37.                         hg.getServer().broadcastMessage(s.replace("&", "§").replace("<preco>", String.valueOf(vg.precoParaParticipar)).replace("<limite>", String.valueOf(vg.limiteDeMembros)).replace("<players>", String.valueOf(vg.todosParticipantes.size())).replace("<clans>", String.valueOf(vg.clans.keySet().size())));
  38.                     }
  39.                     vg.quantMensagens -= 1;
  40.                 }else{
  41.                     if(vg.clans.keySet().size() >= 1){ //2
  42.                         for(String tags : vg.clans.keySet()){
  43.                             while(vg.clans.get(tags) > 30){
  44.                                 Clan c = hg.core.getClanManager().getClan(tags);
  45.                                 List<ClanPlayer> p = c.getOnlineMembers();
  46.                                 int valor = (int) (Math.random() * vg.clans.get(tags) + 1);
  47.                                 ClanPlayer a = p.get(valor);
  48.                                 Player remove = hg.getServer().getPlayer(a.getName());
  49.                                 vg.todosParticipantes.remove(remove);
  50.                                 remove.teleport(tm.getTeleportSaida());
  51.                                 remove.sendMessage(config.getString("Mensagens_Player.kickado").replace("&", "§"));
  52.                                 removePlayerInClanList(tags);
  53.                             }
  54.                         }
  55.                         iniciarAnuncios2();
  56.                     }else{
  57.                         sendMessageList4(config.getStringList("Mensagens_Player.Anuncio_Cancelado"), "Sem clans suficientes!");
  58.                         for(Player p : vg.todosParticipantes){
  59.                             p.teleport(tm.getTeleportSaida());
  60.                         }
  61.                         vg.resetVariaveis();
  62.                     }
  63.                     hg.getServer().getScheduler().cancelTask(id1);
  64.                 }
  65.             }
  66.         }, 0, config.getInt("Gladiador.Anuncio_Tempo_Entre_As_Mensagens") * 20L);
  67.     }
  68.    
  69.     public void iniciarAnuncios2(){
  70.         vg.isAberto = false;
  71.         BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  72.         id2 = scheduler.scheduleSyncRepeatingTask(hg, new Runnable() {
  73.             @Override
  74.             public void run() {
  75.                 if(vg.isOcorrendo){
  76.                    
  77.                     //Deixa o mundo sempre de noite
  78.                     if(vg.isNoite){
  79.                         hg.getServer().getWorld(config.getString("Localizacoes.Spawn_Entrada.World")).setTime(17000);
  80.                     }
  81.                    
  82.                     //Deixa o mundo sem chuva
  83.                     if(vg.isChuvendo){
  84.                         hg.getServer().getWorld(config.getString("Localizacoes.Spawn_Entrada.World")).setWeatherDuration(0);
  85.                     }
  86.                    
  87.                     //Verifica se tem apenas um clan no gladiador
  88.                     if(vg.clans.keySet().size() == 1){
  89.                        
  90.                         //Pega o clan vencedor
  91.                         for(String venc : vg.clans.keySet()){
  92.                             vencedor = hg.core.getClanManager().getClan(venc);
  93.                             vg.isOcorrendo = false;
  94.                         }
  95.                        
  96.                         //Define os gladiadores
  97.                         if(vg.isGladiadorEnable){
  98.                             while(vg.quantGladiadores != vg.quantGladiadoresAdicionados){
  99.                                 gladiadores.clear();
  100.                                 int valor = (int) (Math.random() * vencedor.getOnlineMembers().size() + 1);
  101.                                 ClanPlayer parti = vencedor.getOnlineMembers().get(valor);
  102.                                 gladiadores.add(hg.getServer().getPlayer(parti.getName()));
  103.                                 vg.quantGladiadoresAdicionados = vg.quantGladiadoresAdicionados + 1;
  104.                                 System.out.println("12 " + gladiadores + "Or " + parti.getName());
  105.                                 for(Player pa : gladiadores){
  106.                                     config.set("Gladiador_Tag.Jogador_Com_A_Tag_Atual", pa.getName());
  107.                                     hg.saveConfig();
  108.                                 }
  109.  
  110.                             }
  111.                         }
  112.                        
  113.                         //Define o mito
  114.                         if(vg.isMitoEnable){
  115.                             int valor = (int) (Math.random() * vencedor.getOnlineMembers().size() + 1);
  116.                             ClanPlayer parti = vencedor.getOnlineMembers().get(valor);
  117.                             mito = hg.getServer().getPlayer(parti.getName());
  118.                             config.set("Mito_Tag.Jogador_Com_A_Tag_Atual", mito.getName());
  119.                             hg.saveConfig();
  120.                         }
  121.                        
  122.                     }else if(vg.clans.keySet().isEmpty()){
  123.                         cancelarEvento("Evento sem vencedores");
  124.                     }else{
  125.                         sendMessageList2(config.getStringList("Mensagens_Player.Anuncio_Iniciado"));
  126.                         for(String s : vg.clans.keySet()){
  127.                             Clan c = hg.core.getClanManager().getClan(s);
  128.                             c.setFriendlyFire(false);
  129.                         }
  130.                     }
  131.                    
  132.                 }else{
  133.                     sendMessageList3(config.getStringList("Mensagens_Player.Anuncio_Fim"), vencedor, gladiadores, mito);
  134.                     for(ClanPlayer cp : vencedor.getOnlineMembers()){
  135.                         hg.economy.depositPlayer(cp.getName(), vg.premioParaCada);
  136.                     }
  137.                     for(ClanPlayer cp : vencedor.getLeaders()){
  138.                         hg.economy.depositPlayer(cp.getName(), vg.premioParaLider);
  139.                     }
  140.                     for(Player p : vg.todosParticipantes){
  141.                         p.teleport(tm.getTeleportSaida());
  142.                     }
  143.                     vg.resetVariaveis();
  144.                     hg.getServer().getScheduler().cancelTask(id2);
  145.                 }
  146.             }
  147.         }, 0, config.getInt("Gladiador.Anuncio_Tempo_Entre_As_Mensagens") * 20L);
  148.     }
  149.    
  150.     public void cancelarEvento(String motivo){
  151.         sendMessageList4(config.getStringList("Mensagens_Player.Anuncio_Cancelado"), motivo);
  152.         hg.getServer().getScheduler().cancelTask(id1);
  153.         hg.getServer().getScheduler().cancelTask(id2);
  154.         for(Player p : vg.todosParticipantes){
  155.             p.teleport(tm.getTeleportSaida());
  156.         }
  157.         vg.resetVariaveis();
  158.     }
  159.    
  160.     private void sendMessageList2(List<String> mensagens){
  161.         StringBuilder builder = new StringBuilder();
  162.         for(String clans : vg.clans.keySet()){
  163.             Clan clann = hg.core.getClanManager().getClan(clans);
  164.             if(builder.toString().isEmpty()){
  165.                 builder.append(clann.getColorTag());
  166.             }else{
  167.                 builder.append("§0, " + clann.getColorTag());
  168.             }
  169.         }
  170.         for (String s : mensagens) {
  171.             hg.getServer().broadcastMessage(s.replace("&", "§").replace("<preco>", String.valueOf(vg.precoParaParticipar)).replace("<limite>", String.valueOf(vg.limiteDeMembros)).replace("<players>", String.valueOf(vg.todosParticipantes.size())).replace("<clans>", builder.toString()));
  172.         }
  173.         /*StringBuilder builder = new StringBuilder();
  174.         for (String s : mensagens) {
  175.             for(String clans : vg.clans.keySet()){
  176.                 if(builder.toString().isEmpty()){
  177.                     builder.append(clans);
  178.                 }else{
  179.                     builder.append("§0, " + clans);
  180.                 }
  181.             }
  182.              hg.getServer().broadcastMessage(s.replace("&", "§").replace("<preco>", String.valueOf(vg.precoParaParticipar)).replace("<limite>", String.valueOf(vg.limiteDeMembros)).replace("<players>", String.valueOf(vg.todosParticipantes.size())).replace("<clans>", builder.toString()));
  183.         }*/
  184.     }
  185.    
  186.     private void sendMessageList3(List<String> mensagens, Clan vencedor, List<Player> gladiadores, Player mito){
  187.         for (String s : mensagens) {
  188.             for(Player p : gladiadores){
  189.                 if(mito != null){
  190.                     if(gladiadores != null){
  191.                         hg.getServer().broadcastMessage(s.replace("&", "§").replace("<vencedor>", vencedor.getColorTag()).replace("<gladiadores>", p.getName()).replace("<mito>", mito.getName()));
  192.                     }else{
  193.                         hg.getServer().broadcastMessage(s.replace("&", "§").replace("<vencedor>", vencedor.getColorTag()).replace("<mito>", mito.getName()));
  194.                     }
  195.                 }else{
  196.                     hg.getServer().broadcastMessage(s.replace("&", "§").replace("<vencedor>", vencedor.getColorTag()).replace("<gladiadores>", p.getName()));
  197.                 }
  198.             }
  199.         }
  200.     }
  201.    
  202.     private void sendMessageList4(List<String> mensagens, String motivo){
  203.         for (String s : mensagens) {
  204.             hg.getServer().broadcastMessage(s.replace("&", "§").replace("<motivo>", motivo));
  205.         }
  206.     }
  207.  
  208.     public void addPlayerInClanList(String clan){
  209.         if(vg.clans.containsKey(clan)){
  210.             vg.clans.put(clan, vg.clans.get(clan) + 1);
  211.         }else{
  212.             vg.clans.put(clan, 1);
  213.         }
  214.     }
  215.    
  216.     public void removePlayerInClanList(String clan){
  217.         if(vg.clans.containsKey(clan)){
  218.             if(vg.clans.get(clan) >= 2){
  219.                 vg.clans.put(clan, vg.clans.get(clan) - 1);
  220.             }else{
  221.                 vg.clans.remove(clan);
  222.             }
  223.         }
  224.     }
  225.     public void addClanInClanList(String clan){
  226.         if(!vg.clans.containsKey(clan)){
  227.             vg.clans.put(clan, 1);
  228.         }
  229.     }
  230.    
  231.     public void removeClanInClanList(String clan){
  232.         if(!vg.clans.containsKey(clan)){
  233.             vg.clans.remove(clan);
  234.         }
  235.     }
  236.    
  237. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement