Ir para conteúdo

Como configuro um comando para deixar a consola usá-lo?


Xipsahoy

Posts Recomendados

[[Template forums/front/topics/postContainer is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

O plugin aparentemente possui suporte a caixa all, basta digitar /caixagive all <caixa> <quantidade>

Caso queira executar via console, basta remover " if (sender instanceof Player) {", ficaria assim:

 package timepvp.caixasmisteriosas.comandos;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import timepvp.caixasmisteriosas.CaixasAPI;

public class Give implements CommandExecutor {

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String lbl, String[] args) {

            if (cmd.getName().equalsIgnoreCase("caixagive") && sender.hasPermission("caixasmisteriosas.admin")) {
                if (args.length > 3 || args.length == 0 || args.length != 3) {
                    sender.sendMessage("§b[Caixas] §7Digite /caixagive <jogador> <caixa> <quantidade>.");
                    return true;
                } else {

                    if (args[0].equalsIgnoreCase("all")) {
                        String caixa = args[1];
                        int quantidade;
                        if (CaixasAPI.getCaixaPeloNome(caixa) != null) {
                            try {
                                quantidade = Integer.parseInt(args[2]);
                            } catch (NumberFormatException e) {
                                sender.sendMessage("§b[Caixas] §cO valor inspecionado é inválido.");
                                return true;
                            }

                            for (Player players : Bukkit.getOnlinePlayers()) {
                                CaixasAPI.giveCaixa(CaixasAPI.getCaixaPeloNome(caixa), players, quantidade);
                            }
                            Bukkit.broadcastMessage("§b[Caixas] §7O staffer §f" + sender.getName() + " §7enviou §f"
                                    + quantidade + " §7caixas §f" + CaixasAPI.getCaixaPeloNome(caixa).getDisplayName()
                                    + "§7 para todos.");
                            sender.sendMessage("§b[Caixas] §7Você enviou §f" + quantidade + " §7caixas §f"
                                    + CaixasAPI.getCaixaPeloNome(caixa).getDisplayName()
                                    + " §7para todos os jogadores.");
                            return true;
                        } else {
                            sender.sendMessage("§b[Caixas] §cA caixa digitada é inexistente.");
                            return true;
                        }
                    } else {
                        String caixa = args[1];
                        Player player = Bukkit.getPlayer(args[0]);
                        if (player == null) {
                            sender.sendMessage("§b[Caixas] §cEste jogador está offline.");
                            return true;
                        }
                        int quantidade;
                        if (CaixasAPI.getCaixaPeloNome(caixa) != null) {
                            try {
                                quantidade = Integer.parseInt(args[2]);
                            } catch (NumberFormatException e) {
                                sender.sendMessage("§b[Caixas] §cO valor inspecionado é inválido.");
                                return true;
                            }

                            sender.sendMessage("§b[Caixas] §7Você enviou §f" + quantidade + " §7caixas "
                                    + CaixasAPI.getCaixaPeloNome(caixa).getDisplayName() + "para o jogador §f"
                                    + player.getName() + "§7.");
                            player.sendMessage("§b[Caixas] §7Você recebeu §f" + quantidade + " §7caixas §f"
                                    + CaixasAPI.getCaixaPeloNome(caixa).getDisplayName() + "§7.");
                            CaixasAPI.giveCaixa(CaixasAPI.getCaixaPeloNome(caixa), player, quantidade);
                            return true;
                        } else {
                            sender.sendMessage("§b[Caixas] §cA caixa digitada é inexistente.");
                            return true;
                        }
                    }
                }
            }
        return false;
    }

}
Editado por SrD3ad
Link para o comentário
Compartilhar em outros sites

@SrD3ad Já que tu me está ajudando, sabe como eu faço para o plugin quando troca esta variável <caixa> pelo nome da Caixa, mudar com as cores?

image.png.e51cdac7f85a4f894b52f2472576d494.png

 

Pois por default fica branco!

Estes são os únicos sítios onde <caixa> é referido!

CaixasApi.java

Spoiler

package timepvp.caixasmisteriosas;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitTask;
import timepvp.caixasmisteriosas.objetos.Caixa;
import timepvp.caixasmisteriosas.objetos.CaixaAbrirEvent;
import timepvp.caixasmisteriosas.objetos.Item;
import timepvp.caixasmisteriosas.objetos.Raridade;

public class CaixasAPI {
   public static Caixa getCaixaPeloNome(String caixa) {
      Iterator var2 = getCaixas().iterator();

      while(var2.hasNext()) {
         Caixa c = (Caixa)var2.next();
         if (c.getNome().equalsIgnoreCase(caixa)) {
            return c;
         }
      }

      return null;
   }

   public static List<Caixa> getCaixas() {
      return Main.getInstance().caixas;
   }

   public static void giveCaixa(final Caixa c, final Player k, final int q) {
       final ItemStack is = new ItemStack(Material.getMaterial(c.getID()), q);
       final ItemMeta meta = is.getItemMeta();
       meta.setDisplayName(c.getDisplayName());
       final ArrayList<String> lore = new ArrayList<String>();
       lore.add("§bCaixa " + c.getNome());
       meta.setLore((List)lore);
       is.setItemMeta(meta);
       k.getInventory().addItem(new ItemStack[] { is });
   }

   public static Enchantment traduzirEncantamento(String e) {
      if (e.equalsIgnoreCase("PROTECTION")) {
         return Enchantment.PROTECTION_ENVIRONMENTAL;
      } else if (e.equalsIgnoreCase("FIREPROTECTION")) {
         return Enchantment.PROTECTION_FIRE;
      } else if (e.equalsIgnoreCase("FEATHERFALLING")) {
         return Enchantment.PROTECTION_FALL;
      } else if (e.equalsIgnoreCase("BLASTPROTECTION")) {
         return Enchantment.PROTECTION_EXPLOSIONS;
      } else if (e.equalsIgnoreCase("PROJECTILEPROTECTION")) {
         return Enchantment.PROTECTION_ENVIRONMENTAL;
      } else if (e.equalsIgnoreCase("SHARPNESS")) {
         return Enchantment.DAMAGE_ALL;
      } else if (e.equalsIgnoreCase("KNOCKBACK")) {
         return Enchantment.KNOCKBACK;
      } else if (e.equalsIgnoreCase("FIREASPECT")) {
         return Enchantment.FIRE_ASPECT;
      } else if (e.equalsIgnoreCase("LOOTING")) {
         return Enchantment.LOOT_BONUS_MOBS;
      } else if (e.equalsIgnoreCase("EFFICIENCY")) {
         return Enchantment.DIG_SPEED;
      } else if (e.equalsIgnoreCase("SILKTOUCH")) {
         return Enchantment.SILK_TOUCH;
      } else if (e.equalsIgnoreCase("POWER")) {
          return Enchantment.ARROW_DAMAGE;
      } else if (e.equalsIgnoreCase("FLAME")) {
          return Enchantment.ARROW_FIRE;
      } else if (e.equalsIgnoreCase("UNBREAKING")) {
         return Enchantment.DURABILITY;
      } else {
         return e.equalsIgnoreCase("FORTUNE") ? Enchantment.LOOT_BONUS_BLOCKS : null;
      }
   }

   public static List<Integer> getPosicoesVidro() {
      List<Integer> lista = new ArrayList();
      Collections.addAll(lista, new Integer[]{0, 1, 2, 3, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 23, 24, 25, 26});
      return lista;
   }

   public static List<Raridade> getRaridades() {
      return Main.getInstance().raridade;
   }

   public static void abrirCaixa(final Caixa c, final Player p) {
      final HashMap<Integer, Item> slot = new HashMap();
      final ArrayList<Integer> delay = new ArrayList();
      final ArrayList<BukkitTask> runnables = new ArrayList();
      final Inventory inv = Bukkit.createInventory((InventoryHolder)null, 27, "§7Abrindo caixa: " + c.getDisplayName());
      Iterator var7 = getPosicoesVidro().iterator();

      while(var7.hasNext()) {
         int i = (Integer)var7.next();
         inv.setItem(i, randomizarVidro());
      }

      slot.put(1, randomizarItem(c));
      slot.put(2, randomizarItem(c));
      slot.put(3, randomizarItem(c));
      slot.put(4, randomizarItem(c));
      slot.put(5, randomizarItem(c));
      slot.put(6, randomizarItem(c));
      slot.put(7, randomizarItem(c));
      inv.setItem(10, ((Item)slot.get(1)).getItemStack());
      inv.setItem(11, ((Item)slot.get(2)).getItemStack());
      inv.setItem(12, ((Item)slot.get(3)).getItemStack());
      inv.setItem(13, ((Item)slot.get(4)).getItemStack());
      inv.setItem(14, ((Item)slot.get(5)).getItemStack());
      inv.setItem(15, ((Item)slot.get(6)).getItemStack());
      inv.setItem(16, ((Item)slot.get(7)).getItemStack());
      inv.setItem(4, new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)15));
      inv.setItem(22, new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)15));
      p.openInventory(inv);
      BukkitTask bt = (new BukkitRunnable() {
         public void run() {
            if (delay.contains(20)) {
               (new BukkitRunnable() {
                  public void run() {
                     Item ItemGanho = (Item)slot.get(4);
                     if (ItemGanho.getComando() != "") {
                        Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), ItemGanho.getComando().replace("<jogador>", p.getName()));
                     }

                     if (ItemGanho.getAddItem()) {
                        p.getInventory().addItem(new ItemStack[]{ItemGanho.getItemStack()});
                     }

                     p.playSound(p.getLocation(), Sound.LEVEL_UP, 5.0F, 1.0F);
                     if (p.getOpenInventory().getTitle().contains("§7Abrindo caixa: ")) {
                        p.closeInventory();
                     }

                     Bukkit.getPluginManager().callEvent(new CaixaAbrirEvent(p, c, ItemGanho));
                  }
               }).runTaskLater(Main.getInstance(), 60L);
               delay.clear();
               Iterator var5 = runnables.iterator();

               while(var5.hasNext()) {
                  BukkitTask bta = (BukkitTask)var5.next();
                  bta.cancel();
               }

            } else {
               Item novoitem = CaixasAPI.randomizarItem(c);
               inv.setItem(10, ((Item)slot.get(2)).getItemStack());
               inv.setItem(11, ((Item)slot.get(3)).getItemStack());
               inv.setItem(12, ((Item)slot.get(4)).getItemStack());
               inv.setItem(13, ((Item)slot.get(5)).getItemStack());
               inv.setItem(14, ((Item)slot.get(6)).getItemStack());
               inv.setItem(15, ((Item)slot.get(7)).getItemStack());
               inv.setItem(16, novoitem.getItemStack());
               slot.put(1, (Item)slot.get(2));
               slot.put(2, (Item)slot.get(3));
               slot.put(3, (Item)slot.get(4));
               slot.put(4, (Item)slot.get(5));
               slot.put(5, (Item)slot.get(6));
               slot.put(6, (Item)slot.get(7));
               slot.put(7, novoitem);
               Iterator var3 = CaixasAPI.getPosicoesVidro().iterator();

               while(var3.hasNext()) {
                  int i = (Integer)var3.next();
                  inv.setItem(i, CaixasAPI.randomizarVidro());
               }

               p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 5.0F, 1.0F);
               delay.add(delay.size() + 1);
            }
         }
      }).runTaskTimerAsynchronously(Main.getInstance(), 5L, 5L);
      runnables.add(bt);
   }

   public static ItemStack randomizarVidro() {
      int random = (new Random()).nextInt(14) + 1;
      if (random == 1 || random == ? {
         ++random;
      }

      return new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)random);
   }

   public static Item randomizarItem(Caixa c) {
      int random = (new Random()).nextInt(100) + 1;
      if (random == 100) {
         --random;
      }

      Iterator var3 = c.getDados().iterator();

      Item i;
      do {
         if (!var3.hasNext()) {
            return null;
         }

         i = (Item)var3.next();
      } while((double)random < i.getMinPercentagem() || (double)random >= i.getMaxPercentagem());

      return i;
   }

   public static void inspecionarCaixa(Caixa c, Player p) {
      Inventory inv = Bukkit.createInventory((InventoryHolder)null, 45, "§7Itens da caixa: " + c.getDisplayName());
      Iterator var4 = c.getDados().iterator();

      while(var4.hasNext()) {
         Item i = (Item)var4.next();
         List<String> loreantiga = new ArrayList();
         if (i.getItemStack().getItemMeta().hasLore()) {
            Iterator var7 = i.getItemStack().getItemMeta().getLore().iterator();

            while(var7.hasNext()) {
               String lores = (String)var7.next();
               loreantiga.add(lores);
            }
         }

         ItemStack is = i.getItemStack();
         ItemMeta meta = is.getItemMeta();
         List<String> ilore = new ArrayList();
         ilore.add("");
         ilore.add("    §eChance: " + i.getPercentagem() + "%");
         ilore.add("");
         meta.setLore(ilore);
         is.setItemMeta(meta);
         inv.setItem(getSlot(inv), is);
         ItemStack itemstack = i.getItemStack();
         ItemMeta imeta = itemstack.getItemMeta();
         List<String> llore = new ArrayList();
         Iterator var13 = loreantiga.iterator();

         while(var13.hasNext()) {
            String k = (String)var13.next();
            llore.add(k);
         }

         imeta.setLore(llore);
         itemstack.setItemMeta(imeta);
      }

      p.openInventory(inv);
   }

   public static int getSlot(Inventory inv) {
      if (inv.getItem(10) != null && inv.getItem(10).getType() != Material.AIR) {
         if (inv.getItem(11) != null && inv.getItem(11).getType() != Material.AIR) {
            if (inv.getItem(12) != null && inv.getItem(12).getType() != Material.AIR) {
               if (inv.getItem(13) != null && inv.getItem(13).getType() != Material.AIR) {
                  if (inv.getItem(14) != null && inv.getItem(14).getType() != Material.AIR) {
                     if (inv.getItem(15) != null && inv.getItem(15).getType() != Material.AIR) {
                        if (inv.getItem(16) != null && inv.getItem(16).getType() != Material.AIR) {
                           if (inv.getItem(19) != null && inv.getItem(19).getType() != Material.AIR) {
                              if (inv.getItem(20) != null && inv.getItem(20).getType() != Material.AIR) {
                                 if (inv.getItem(21) != null && inv.getItem(21).getType() != Material.AIR) {
                                    if (inv.getItem(22) != null && inv.getItem(22).getType() != Material.AIR) {
                                       if (inv.getItem(23) != null && inv.getItem(23).getType() != Material.AIR) {
                                          if (inv.getItem(24) != null && inv.getItem(24).getType() != Material.AIR) {
                                             if (inv.getItem(25) != null && inv.getItem(25).getType() != Material.AIR) {
                                                if (inv.getItem(28) != null && inv.getItem(28).getType() != Material.AIR) {
                                                   if (inv.getItem(29) != null && inv.getItem(29).getType() != Material.AIR) {
                                                      if (inv.getItem(30) != null && inv.getItem(30).getType() != Material.AIR) {
                                                         if (inv.getItem(31) != null && inv.getItem(31).getType() != Material.AIR) {
                                                            if (inv.getItem(32) != null && inv.getItem(32).getType() != Material.AIR) {
                                                               if (inv.getItem(33) != null && inv.getItem(33).getType() != Material.AIR) {
                                                                  if (inv.getItem(34) != null && inv.getItem(34).getType() != Material.AIR) {
                                                                     if (inv.getItem(35) != null && inv.getItem(35).getType() != Material.AIR) {
                                                                        if (inv.getItem(36) != null && inv.getItem(36).getType() != Material.AIR) {
                                                                           if (inv.getItem(37) != null && inv.getItem(37).getType() != Material.AIR) {
                                                                              if (inv.getItem(38) != null && inv.getItem(38).getType() != Material.AIR) {
                                                                                 if (inv.getItem(39) != null && inv.getItem(39).getType() != Material.AIR) {
                                                                                    if (inv.getItem(40) != null && inv.getItem(40).getType() != Material.AIR) {
                                                                                       if (inv.getItem(41) != null && inv.getItem(41).getType() != Material.AIR) {
                                                                                          if (inv.getItem(42) != null && inv.getItem(42).getType() != Material.AIR) {
                                                                                             return inv.getItem(43) != null && inv.getItem(43).getType() != Material.AIR ? -1 : 43;
                                                                                          } else {
                                                                                             return 42;
                                                                                          }
                                                                                       } else {
                                                                                          return 41;
                                                                                       }
                                                                                    } else {
                                                                                       return 40;
                                                                                    }
                                                                                 } else {
                                                                                    return 39;
                                                                                 }
                                                                              } else {
                                                                                 return 38;
                                                                              }
                                                                           } else {
                                                                              return 37;
                                                                           }
                                                                        } else {
                                                                           return 36;
                                                                        }
                                                                     } else {
                                                                        return 35;
                                                                     }
                                                                  } else {
                                                                     return 34;
                                                                  }
                                                               } else {
                                                                  return 33;
                                                               }
                                                            } else {
                                                               return 32;
                                                            }
                                                         } else {
                                                            return 31;
                                                         }
                                                      } else {
                                                         return 30;
                                                      }
                                                   } else {
                                                      return 29;
                                                   }
                                                } else {
                                                   return 28;
                                                }
                                             } else {
                                                return 25;
                                             }
                                          } else {
                                             return 24;
                                          }
                                       } else {
                                          return 23;
                                       }
                                    } else {
                                       return 22;
                                    }
                                 } else {
                                    return 21;
                                 }
                              } else {
                                 return 20;
                              }
                           } else {
                              return 19;
                           }
                        } else {
                           return 16;
                        }
                     } else {
                        return 15;
                     }
                  } else {
                     return 14;
                  }
               } else {
                  return 13;
               }
            } else {
               return 12;
            }
         } else {
            return 11;
         }
      } else {
         return 10;
      }
   }
}

 

Main.java

Spoiler

package timepvp.caixasmisteriosas;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
import timepvp.caixasmisteriosas.comandos.Give;
import timepvp.caixasmisteriosas.eventos.aoInspecionar;
import timepvp.caixasmisteriosas.eventos.onClickCaixa;
import timepvp.caixasmisteriosas.eventos.onItemSairEvent;
import timepvp.caixasmisteriosas.objetos.Caixa;
import timepvp.caixasmisteriosas.objetos.Item;
import timepvp.caixasmisteriosas.objetos.Raridade;

public class Main extends JavaPlugin {
   public ArrayList<Caixa> caixas = new ArrayList();
   public ArrayList<Raridade> raridade = new ArrayList();
   public static Main instance;

   public static Main getInstance() {
      return instance;
   }

   public void onEnable() {
      instance = this;
      this.saveDefaultConfig();
      this.registrarComandos();
      this.registrarEventos();
      this.lerCaixas();
   }

   public void registrarComandos() {
      this.getCommand("caixagive").setExecutor(new Give());
   }

   public void registrarEventos() {
      Bukkit.getPluginManager().registerEvents(new onClickCaixa(), this);
      Bukkit.getPluginManager().registerEvents(new aoInspecionar(), this);
      Bukkit.getPluginManager().registerEvents(new onItemSairEvent(), this);
   }

   public static void mensagem(String mensagem) {
      Bukkit.getConsoleSender().sendMessage("§eyCaixasMisteriosas » " + mensagem);
   }

   public static void erro(String mensagem) {
      Bukkit.getConsoleSender().sendMessage("§cyCaixasMisteriosas » " + mensagem);
   }


   public void lerCaixas() {
      Iterator var2 = this.getConfig().getConfigurationSection("Raridades").getKeys(false).iterator();

      String caixa;
      double maxminpercentagem;
      while(var2.hasNext()) {
         caixa = (String)var2.next();
         String customname = this.getConfig().getString("Raridades." + caixa + ".CustomName");
         double maxpercentagem = this.getConfig().getDouble("Raridades." + caixa + ".MaxPercentagem");
         maxminpercentagem = this.getConfig().getDouble("Raridades." + caixa + ".MinPercentagem");
         boolean raio = this.getConfig().getBoolean("Raridades." + caixa + ".Raio");
         Raridade r = new Raridade(caixa);
         r.setCustomName(customname.replace("&", "§"));
         r.setMaxPercentagem(maxpercentagem);
         r.setMinPercentagem(maxminpercentagem);
         r.setRaio(raio);
         this.raridade.add(r);
      }

      this.caixas.clear();
      var2 = this.getConfig().getConfigurationSection("Caixas").getKeys(false).iterator();

      while(var2.hasNext()) {
         caixa = (String)var2.next();
         int id = this.getConfig().getInt("Caixas." + caixa + ".ID");
         String displayname = this.getConfig().getString("Caixas." + caixa + ".DisplayName").replace("&", "§");
         List<Item> dados = new ArrayList();
         maxminpercentagem = 0.0D;
         Iterator var37 = this.getConfig().getStringList("Caixas." + caixa + ".Itens").iterator();

         while(var37.hasNext()) {
            String item = (String)var37.next();

            try {
               String itemid = item.split(";")[0].replace("&", "§");
               String nome = item.split(";")[1].replace("&", "§");
               String encantamentos = item.split(";")[2].replace("&", "§");
               String quantidade = item.split(";")[3].replace("&", "§");
               String percentagem = item.split(";")[4].replace("&", "§");
               String lore = item.split(";")[5].replace("&", "§");
               String comando = item.split(";")[6].replace("&", "§");
               boolean adicionaritem = Boolean.valueOf(item.split(";")[7]);
               boolean contemnome = !nome.equalsIgnoreCase("null");
               boolean contemencantamentos = !encantamentos.equalsIgnoreCase("null");
               boolean contemcomando = !comando.equalsIgnoreCase("null");
               boolean contemlore = !lore.equalsIgnoreCase("null");
               int data = 0;
               if (itemid.contains(":")) {
                  data = Integer.parseInt(itemid.split(":")[1]);
                  itemid = itemid.split(":")[0];
               }

               ItemStack is = new ItemStack(Material.getMaterial(Integer.parseInt(itemid)), Integer.parseInt(quantidade), (short)data);
               ItemMeta im = is.getItemMeta();
               if (contemnome) {
                  im.setDisplayName(nome);
               }

               int var27;
               if (contemencantamentos) {
                  String en;
                  int level;
                  if (encantamentos.contains("-")) {
                     String[] var28;
                     var27 = (var28 = encantamentos.split("-")).length;

                     for(level = 0; level < var27; ++level) {
                        en = var28[level];
                        String n = en.split(":")[0];
                        int level1 = Integer.parseInt(en.split(":")[1]);
                        Enchantment enc = CaixasAPI.traduzirEncantamento(n);
                        if (enc != null) {
                           im.addEnchant(enc, level1, true);
                        }
                     }
                  } else {
                     en = encantamentos.split(":")[0];
                     level = Integer.parseInt(encantamentos.split(":")[1]);
                     Enchantment enc = CaixasAPI.traduzirEncantamento(en);
                     if (enc != null) {
                        im.addEnchant(enc, level, true);
                     }
                  }
               }

               if (contemlore) {
                  ArrayList<String> itemlore = new ArrayList();
                  String[] var45;
                  int var43 = (var45 = lore.split(":")).length;

                  for(var27 = 0; var27 < var43; ++var27) {
                     String lores = var45[var27];
                     itemlore.add(lores);
                  }

                  im.setLore(itemlore);
               }

               is.setItemMeta(im);
               Item i = new Item();
               if (contemcomando) {
                  i.setComando(comando);
               }

               i.setPercentagem(Double.parseDouble(percentagem));
               i.setItemStack(is);
               i.setMinPercentagem(maxminpercentagem);
               maxminpercentagem += i.getPercentagem();
               i.setMaxPercentagem(maxminpercentagem);
               i.setAddItem(adicionaritem);
               Iterator var44 = CaixasAPI.getRaridades().iterator();

               while(var44.hasNext()) {
                  Raridade raridade = (Raridade)var44.next();
                  if (i.getPercentagem() <= raridade.getMinPercentagem() && i.getPercentagem() > raridade.getMaxPercentagem()) {
                     i.setRaridade(raridade);
                  }
               }

               dados.add(i);
            } catch (Exception var32) {
               erro("Ocorreu um erro na linha: " + item);
               Bukkit.getPluginManager().disablePlugin(instance);
               return;
            }
         }

         if (maxminpercentagem != 100.0D) {
            erro("A soma de todas as percentagens tem que ser 100%.");
            Bukkit.getPluginManager().disablePlugin(instance);
            return;
         }

         Caixa c = new Caixa(caixa, id, displayname, dados);
         this.caixas.add(c);
         mensagem("Carregada caixa : '" + c.getNome() + "'");
      }

   }
}

 

onItemSairEvent.java

Spoiler

package timepvp.caixasmisteriosas.eventos;

import java.util.Iterator;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import timepvp.caixasmisteriosas.CaixasAPI;
import timepvp.caixasmisteriosas.Main;
import timepvp.caixasmisteriosas.objetos.Caixa;
import timepvp.caixasmisteriosas.objetos.CaixaAbrirEvent;
import timepvp.caixasmisteriosas.objetos.Item;
import timepvp.caixasmisteriosas.objetos.Raridade;

public class onItemSairEvent implements Listener {
   @EventHandler
   public void onItemSair(CaixaAbrirEvent e) {
      Player p = e.getPlayer();
      Item i = e.getItem();
      Caixa c = e.getCaixa();
      if (Main.getInstance().getConfig().getBoolean("MensagemBroadcast")) {
         Iterator var6 = CaixasAPI.getRaridades().iterator();

         while(true) {
            Raridade r;
            do {
               if (!var6.hasNext()) {
                  return;
               }

               r = (Raridade)var6.next();
            } while(i.getRaridade() != r);

            if (r.getRaio()) {
               p.getWorld().strikeLightningEffect(p.getLocation());
            }

            Iterator var8 = Bukkit.getOnlinePlayers().iterator();

            while(var8.hasNext()) {
               Player s = (Player)var8.next();
               s.sendMessage(Main.getInstance().getConfig().getString("Mensagem").replace("&", "§").replace("<jogador>", p.getName()).replace("<caixa>", c.getNome()).replace("<raridade>", r.getCustomName()));
            }
         }
      }
   }
}

 

Obrigado ! ?

Já agora se tu não entendeu, eu estou pedindo para o plugin conseguir trocar o <caixa> pelo DisplayName mas com cores para não ser branco.image.png.078401e088bd637be229a27d93014c89.png

Link para o comentário
Compartilhar em outros sites

Aparentemente na classe onItemSairEvent você resetar as cores assim vai ficar a cor que você colocar na config, ficaria assim:
 

package timepvp.caixasmisteriosas.eventos;

import java.util.Iterator;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import timepvp.caixasmisteriosas.CaixasAPI;
import timepvp.caixasmisteriosas.Main;
import timepvp.caixasmisteriosas.objetos.Caixa;
import timepvp.caixasmisteriosas.objetos.CaixaAbrirEvent;
import timepvp.caixasmisteriosas.objetos.Item;
import timepvp.caixasmisteriosas.objetos.Raridade;

public class onItemSairEvent implements Listener {
   @EventHandler
   public void onItemSair(CaixaAbrirEvent e) {
      Player p = e.getPlayer();
      Item i = e.getItem();
      Caixa c = e.getCaixa();
      if (Main.getInstance().getConfig().getBoolean("MensagemBroadcast")) {
         Iterator var6 = CaixasAPI.getRaridades().iterator();

         while(true) {
            Raridade r;
            do {
               if (!var6.hasNext()) {
                  return;
               }

               r = (Raridade)var6.next();
            } while(i.getRaridade() != r);

            if (r.getRaio()) {
               p.getWorld().strikeLightningEffect(p.getLocation());
            }

            Iterator var8 = Bukkit.getOnlinePlayers().iterator();

            while(var8.hasNext()) {
               Player s = (Player)var8.next();
               s.sendMessage(Main.getInstance().getConfig().getString("Mensagem").replace("&", "§").replace("<jogador>", p.getName()).replace("<caixa>",  ChatColor.stripColor(c.getNome())).replace("<raridade>",  ChatColor.stripColor(r.getCustomName())));
            }
         }
      }
   }
}

 

Editado por SrD3ad
Link para o comentário
Compartilhar em outros sites

Passa o mouse por cima e clica em "import 'ChatColor' (org.bukkit)"
image.png
Recomendo você dar uma estuda em Java antes de tentar modificar plugins.

Editado por SrD3ad
Link para o comentário
Compartilhar em outros sites

Ok, então, funcionou, mas não funciona como eu queria pois o plugin está copiando o nome do título da caixa, mas devia pegar do DisplayName.

image.png.4050c098ebda8bfaf69a0b33de8d9327.png

 

Na class Give.jar tem este método CaixasAPI.getCaixaPeloNome(caixa).getDisplayName() , eu só não sei como adicioná-lo no código da mensagem quando abre a caixa.

Link para o comentário
Compartilhar em outros sites

Ok, consegui resolver, último problema que estou tendo é, quando eu escrevo o comando na consola não aparece nada, nem unknow command. aparece uma lina sem nada!

E os comandos do plugin não funcionam na consola!

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Xipsahoy disse:

Ok, consegui resolver, último problema que estou tendo é, quando eu escrevo o comando na consola não aparece nada, nem unknow command. aparece uma lina sem nada!

E os comandos do plugin não funcionam na consola!

Deve estar acontecendo isso por causa que o plugin checa se o comando foi executado por um player "if (sender instanceof Player) {", ou seja, caso for executado pelo console ele não faz nada, você pode tentar tirar isso, porém caso o desenvolvedor tenha criado a variável do player irar gerar um erro que você deve achar uma solução, não é uma coisa dificil, então caso isso aconteça recomendo você estudar um pouco de Java pois é coisa bem básica.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...