Ir para conteúdo

ElGaubinho

Membros
  • Total de itens

    239
  • Registro em

  • Última visita

Respostas na Comunidade

  1. ElGaubinho's postagem in [Pedido] Alguns kits para kitpvp was marked as the answer   
    Posso faze-lo, têm como me passar seu discord?
  2. ElGaubinho's postagem in [Resolvido] Andar was marked as the answer   
    é só usar o evento PlayerMoveEvent

    é só usar o evento PlayerMoveEvent
  3. ElGaubinho's postagem in [Resolvido] [Dúvida] Task was marked as the answer   
    // Lista para armazenar os tasks private HashMap<String, BukkitRunnable> taskList = new HashMap<String, BukkitRunnable>(); // Cria um task void criarTask(Player p) { BukkitRunnable task = new BukkitRunnable() { // quando o task for chamado... @Override public void run() { Bukkit.broadCastMessage("O método run foi chamado!"); // execute aqui suas funções } }./*runTask... Agora você completa com a função que você quer. Se for para repetir use "runTaskTimer" senão use "runTaskLater"*/ taskList.put(p.getUniqueId().toString(), task); } void cancelarTask(Player p) { if (!taskList.containsKey(p.getUniqueId().toString()) return; // Recupera e cancela o task BukkitRunnable task = taskList.get(p.getUniqueId().toString()); task.cancel(); taskList.remove(p.getUniqueId().toString()); }
  4. ElGaubinho's postagem in [Entregue] [Pedido] Imagem Em Mapas was marked as the answer   
    http://dev.bukkit.org/bukkit-plugins/imageonmap/
  5. ElGaubinho's postagem in [Resolvido] Erro com um codigo was marked as the answer   
    @SuppressWarnings("deprecation")
    @EventHandler
    public void ac(PlayerInteractEvent e){
    Player p = e.getPlayer();
    ItemStack tool = p.getItemInHand();
    if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK){
    if (tool.hasItemMeta()) {
    ItemMeta toolm = tool.getItemMeta();
    if(tool.getType() == Material.ENDER_CHEST){
    if(toolm.getDisplayName().equals("§eEnderchest §9Portatil")){//Linha 79
    e.setCancelled(true);
    p.openInventory(p.getEnderChest());
    return;
    }else{
    p.sendMessage("§eVoce colocou um Enderchest no chao");
    p.sendMessage("§bVoce tambem pode comprar um enderchest portatil");
    return;
    }
    }
    }
    }
    }

  6. ElGaubinho's postagem in [Resolvido] [Ajuda] Inventario was marked as the answer   
    A instância da sua config está nula provavelmente
  7. ElGaubinho's postagem in [Resolvido] [Dúvida] Argumentos was marked as the answer   
    Fora do seu método de comando, use
     
     
    public static String quest; public static String answer;  
    No método é só colocar então
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < args.length;i++){ buffer.append(args[i]); } String allArguments = buffer.toString(); if (allArguments.contains("=")) { String[] splitedArgs = allArguments.split("="); // Aqui você pode fazer oque quiser com os argumentos divididos // Eu só coloquei para imprimir no console cada um deles. // OBS: Pode tirar xD for (int i = 0; i < splitedArgs.length;i++){ System.out.println(splitedArgs[i] + "\n"); } quest = splitedArgs[0]; answer = splitedArgs[1]; } } Se quiser salvar em config basta setar as strings na config
     
    Se quiser salvar temporariamente utilize um HashMap<String, String>
  8. ElGaubinho's postagem in [Resolvido] [Dúvida Bukkit] Atributos e/ou Lore! was marked as the answer   
    item.setMetadata("metaID", new FixedMetadataValue(/*Seu plugin*/, /*Valor da metadata*/)); if (item.hasMetadata("metaID")) { // Faça algo } // OBS: O objeto "item" precisa ser uma entidade OBS: Se você for usar isso em itens normais sugiro que você use um hashmap
     
    Ex:
     
     
    // No caso ai você estará criando um Map de itens como chave e textos como valor protected HashMap<ItemStack, String> items = new HashMap<>(); // Para adicionar você usa items.put(/*seuItem*/, /*valorDeTexto*/);
  9. ElGaubinho's postagem in [Resolvido] [Ajuda] Localização Exata was marked as the answer   
    Primeiro, para pegar as coordenadas exatas de um jogador você deve usar 

    p.getLocation().getX();
    ​p.getLocation().getY();
    p.getLocation().getZ();

    em vez de p.getLocation().getBlockX();

    Para pegar o local que o jogador está olhando

    Você deve usar os floats yaw e pitch

    p.getLocation().getYaw();
    p.getLocation().getPitch();

    Depois é só trocar no seu código

    E na hora de pegar os valores da config a string tem que ser a mesma não pode ser para setar "Yaw" e pegar "YAW" 

  10. ElGaubinho's postagem in [Resolvido] [Dúvida Bukkit] Foguete was marked as the answer   
    @Off faz um curso completo de java antes de mexer com a Bukkit API pelo amor de Deus.
     
    @Topic O "instanceof" serve para checar se uma classe possui conteúdo de outra (resumo disso: instanceof significa no português: "é um")
     
    Exemplo:
     
     
    Arvore instanceof Carvalho // árvore é um carvalho?
  11. ElGaubinho's postagem in [Resolvido] [Duvida] Localização Do Player was marked as the answer   
    private Block getAboveBlock(Player p, double count) { // Pega a localização do player Location loc = p.getLocation(); // Pega a localização do player e adiciona a quantidade Y Location above = loc.add(0.0, count, 0.0); // Retorna a você o bloco da localização return above.getBlock(); } Agora para checar se for ar:
     
     
    private boolean isAir(Block block) { return (block.getType() == Material.AIR); } public void sendPlayer(Player p) { p.sendMessage((isAir(getAboveBlock(p, 2.0)) ? "Parabéns você encontrou ar!" : "Continue procurando o AR uma hora você vai encontra-lo!")); }
  12. ElGaubinho's postagem in [Resolvido] Como checar se o player está na 1.7 e na 1.8? was marked as the answer   
    private String getVersion(Player p) { CraftPlayer cp = (CraftPlayer)p; return (cp.getHandle().playerConnection.networkManager.getVersion() == 47 ? "1.8" : "1.7"); } Ai é só adicionar isso ao seu código
     
    Exemplo:
     
     
    @EventHandler public void join(PlayerJoinEvent e) { e.getPlayer().sendMessage("Você está na versão " + getVersion(e.getPlayer()) + " do Minecraft!"); } PS: Código feito no Spigot 1.7.x / 1.8.x
  13. ElGaubinho's postagem in [Resolvido] [Duvida] Bukkit Death Screen was marked as the answer   
    Packets são usados nos jogos para o multiplayer (transportar dados) se eu não me engano
     
    Você precisa criar um desses Packets e enviar para a conexão do jogador
     
    Então, para você desabilitar a tela de respawn é só criar uma packet quando o jogador morrer
    Exemplo:
     
     
    public class Classe implements Listener { @EventHandler public void death(PlayerDeathEvent e) { Player p = e.getPlayer(); // Cria um timer // Isso é necessário para não ocorrer bugs new BukkitRunnable() { public void run() { // Cria o jogador CraftPlayer cp = (CraftPlayer) p; // Packet de respawn PacketPlayOutRespawn packet = new PacketPlayOutRespawn(); cp.getHandle().playerConnection.a(packet); } }.runTaskLater(/*Seus argumentos*/, 15L); } } O que esse código faz?
     
    Ele cria uma packet de respawn e envia ao jogador quando ele morre, assim o jogo dele vai entender que não é necessário aparecer a tela de respawn
     
    @Edit
     
    Caso esse código não funcionar
     
    Utilize este:
     
     
    public class Classe implements Listener { @EventHandler public void death(PlayerDeathEvent e) { Player p = e.getPlayer(); // Cria um timer // Isso é necessário para não ocorrer bugs new BukkitRunnable() { public void run() { // Cria o jogador CraftPlayer cp = (CraftPlayer) p; // Packet de respawn PacketPlayInClientCommand packet = new PacketPlayInClientCommand(EnumClientCommand.PERFORM_RESPAWN) cp.getHandle().playerConnection.a(packet); } }.runTaskLater(/*Seus argumentos*/, 15L); } } Este código acima faz o Cliente do jogador fazer o respawn automáticamente como se fosse ele que tivesse clicado para respawnar
  14. ElGaubinho's postagem in [Resolvido] [Ajuda] Calculo Java was marked as the answer   
    Manda uma print do score

    @Edit

    Esqueci de ler a última frase '-'

    Bom essa é uma regra básica da matemática cara você não pode dividir um número por zero então é só fazer uma checagem:

     
    Score kdrScore = null; if (kills > 0 && deaths > 0) kdrScore =obj.getScore(Bukkit.getOfflinePlayer("§4Kdr:" + " §f" + kills / Deaths)); else kdrScore =obj.getScore(Bukkit.getOfflinePlayer("§4Kdr:" + " §f0"));
  15. ElGaubinho's postagem in [Resolvido] [Duvida] multipla config was marked as the answer   
    Sim
  16. ElGaubinho's postagem in [Resolvido] [Duvida] PlayerDeathEvent + HashMap was marked as the answer   
    int value = playerKills.get(player.getUniqueId().toString()).intValue(); StringBuilder playerString = new StringBuilder(); playerString.append(player.getUniqueId().toString()); playerString.append("/"); playerString.append(value); String path = "SeuCaminho"; getConfig().set(path, playerString.toString());
×
×
  • Criar Novo...