Ir para conteúdo

bieel1503

Membros
  • Total de itens

    130
  • Registro em

  • Última visita

Respostas na Comunidade

  1. bieel1503's postagem in FixedMetadataValue was marked as the answer   
    O "getMetadata(key)" retorna uma lista de "MetadataValue". Normalmente, você pode fazer "getMetadata(key).get(0)", mas tem que tomar cuidado, porque pode conter outros valores de outros plugins.
    Ah, e também, a Bukkit tem uma WIKI falando sobre isso e várias outras coisas, vale a pena procurar lá quando estiver com dúvida.
  2. bieel1503's postagem in [Dúvida] Cobrar quando usar comando was marked as the answer   
    Tá usando alguma API? se estiver, é só ver qual o método para pegar a quantia de dinheiro que o jogador tem. Usando a API do Vault como exemplo:
    Player player = ...; double money = Economy.getBalance(player); if(money >= 100){ Economy.withdrawPlayer(player, 100); //retirando do jogador; }else{ //não tem; }  
  3. bieel1503's postagem in [Duvida][Java][bukkit] ActionBar was marked as the answer   
    Bem, se você estiver na versão '1.10' ou alguma versão superior, você pode apenas fazer isso:
     
    public void sendActionbar(Player player, String message){ player.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(message)); } Para versões anteriores, você vai ter que enviar o "PacketPlayOutChat" para o jogador:
    public void sendActionbar(Player player, String message){ ((CraftPlayer)player).getHandle().playerConnection.sendPacket(new PacketPlayOutChat(ChatSerializer.a("{text: '"+ msg +"'}"), (byte)2)); }  
  4. bieel1503's postagem in Colocar mais de 2 json na mesma linha. was marked as the answer   
    ...
    public void sendMessage(Player player){ TextComponent message = new TextComponent("BOM "); message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/say bom")); TextComponent message2 = new TextComponent("RUIM"); message2.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/say ruim")); message.addExtra(message2); player.spigot().sendMessage(message); }  
  5. bieel1503's postagem in [Dúvida] Plugin de /setspawn {src} was marked as the answer   
    Vou adivinhar, você está pegando os valores como "int", né? Você deve salvar o 'X' e o 'Z' como eles são; doubles, e pega-los assim. Você não pode pega-los como "int". Ah, mas se você estiver guardando como "int", você pode apenas adicionar '+0.5' para o "local"(ou remover '-0.5", se for um valor negativo). Logicamente, um "local" pode ser criado com o 'X', 'Y' e 'Z', mas um "local" também pode guardar uma "direção(?)" e é para isso que o 'YAW' e o 'PITCH' do "local" serve. O 'YAW' sendo a rotação e o 'PITCH' como a inclinação. Então, se você estiver guardando só o 'X', 'Y' e o 'Z' do "local", para guardar o "local" que o jogador estava olhando, você precisa guardar também o 'YAW' e 'PITCH'. SOURCE
  6. bieel1503's postagem in Vault API 2018 was marked as the answer   
    Veja AQUI.
  7. bieel1503's postagem in [Dúvida] Enviar o som apenas para o jogador. was marked as the answer   
    Só o jogador que você mandou vai ouvir.

    SOURCE
  8. bieel1503's postagem in Plugin de Maça Dourada was marked as the answer   
    Aqui: https://puu.sh/B5LMT.jar.
     
    A permissão para não ser cobrado é "capiroto.bypass".
  9. bieel1503's postagem in Como usar novamente ? was marked as the answer   
    Certo... primeiro você vai precisar criar um novo arquivo com o ".yml" como extensão dentro de seu projeto. Eu vou deixa-lo como "custom.yml". Ah, e eu vou estar usando a Main como exemplo. Depois de criar o arquivo, na nossa classe, crie duas variáveis, uma como tipo "File" e outra como "YamlConfiguration". Ficará assim:
    File file; YamlConfiguration yamlconfiguration; A variável "file" vai ser o nosso arquivo(custom.yml) e a "yamlconfiguration" vai ser o acesso para os dados. Agora já criamos o arquivo, definimos as variáveis, e agora falta extrairmos o arquivo para a pasta de nosso plugin. Vamos ter que criar um método para isso, e nosso método vai retornar um objeto do tipo "File". Eu vou criá-lo como "extractFile". Ficou assim:
     
    File extractFile(){ } Dentro do método, crie uma variável do tipo "File" e faça também um "try-catch". Colocaremos um "return null" dentro do "catch" para se caso der erro retornar como nulo. Ficará assim:
    File extractFile(){ File file; try{ }catch(Exception e){ return null; } } Na variável "file", vamos criar uma nova instância do objeto e colocaremos "getDataFolder().getAbsolutePath()" em seu parâmetro. O "getDataFolder()" é um método da classe "JavaPlugin", ele me retorna a pasta aonde o nosso plugin está e como isso retorna um arquivo, vamos usar o método "getAbsolutePath()" da classe "File" para podermos pegá-lo como "String" o seu "caminho". Ficará assim:
     
    File extractFile(){ File file = new File(getDataFolder().getAbsolutePath()); try{ }catch(Exception e){ return null; } } É possível que não exista a pasta do plugin e teremos que criarmos. Agora, dentro do "try-catch", vamos checar se ela existe com o método "exists" da classe "File" e se não existir, vamos criá-la com o método "mkdir". Ficará assim:
     
    File extractFile(){ File file = new File(getDataFolder().getAbsolutePath()); try{ //com o "!" no começo, é a mesma coisa que fizermos "if(file.exists == false)". if(!file.exists){ file.mkdir(); } }catch(Exception e){ return null; } } Já checamos se a pasta do plugin existe, e se não existir, a gente cria uma. Agora vamos dar outro valor para a variável "file", teremos que criar outra instância e vamos colocar o parâmetro como "file.getAbsolutePath() + "/custom.yml". Isso vai retornar o nosso arquivo e de primeira, ele não vai existir, mas é possível que você já tenha extraído uma vez, então temos que checar. Ficará assim:
    File extractFile(){ File file = new File(getDataFolder().getAbsolutePath()); try{ if(!file.exists){ file.mkdir(); } file = new File(file.getAbsolutePath() + "/custom.yml"); if(!file.exists){ } }catch(Exception e){ return null; } } Agora, depois de checarmos se ele não existe, teremos que pegar o arquivo "custom.yml" de dentro da nossa jar e extrairmos. Coloque esse código dentro:
     
    InputStream tocopy = getClass().getResourceAsStream("/custom.yml"); Files.copy(tocopy, file.getAbsoluteFile().toPath()); tocopy.close(); Isso vai extrair para a pasta de nosso plugin. Ah, e não se esqueça de retornar o arquivo depois disso. Ficará assim:
    File extractFile(){ File file = new File(getDataFolder().getAbsolutePath()); try{ if(!file.exists){ file.mkdir(); } file = new File(file.getAbsolutePath() + "/custom.yml"); if(!file.exists){ InputStream tocopy = getClass().getResourceAsStream("/custom.yml"); Files.copy(tocopy, file.getAbsoluteFile().toPath()); tocopy.close(); } return file; }catch(Exception e){ return null; } } Agora na "onEnable", vamos dar os valores para as nossas variáveis "file" e a "yamlconfiguration". O da "file", vai ser o arquivo que retornar do nosso método "extractFile" e o "yamlconfiguration", a gente vai fazer que carregue os dados do "file" como nosso valor. Ficará assim:
     
    public void onEnable(){ file = extractFile(); yamlconfiguration = YamlConfiguration.loadConfiguration(file); } E pronto, agora você tem um yml customizado. Ah, e você usará o "yamlconfiguration" para ter acesso aos dados.
     
  10. bieel1503's postagem in [Duvida] HolographicDisplays was marked as the answer   
    Você precisa modificar o "location" antes de criar o hologram. Pode deixar apenas:
     
    Hologram hologram = HologramsAPI.createHologram(Main.plugin, location.add(0D,1D,0D)); //O "add" no "location" serve para adicionar +1 para o Y;
  11. bieel1503's postagem in Meu Eclipse não gera .class was marked as the answer   
    As .classes estão em: <workspacedir>/<project>/bin
  12. bieel1503's postagem in Stackar poções was marked as the answer   
    Bem, você pode cria-los já stackados ou teria que fazer manualmente. Tipo no evento de pegar um item, você teria que checar se o item no chão já existe no inventário, se existe, removê-lo e adicionar +1 para aquele itemstack do seu inventário.
     
  13. bieel1503's postagem in Sala de Apoio was marked as the answer   
    Aqui, tenta esse: https://puu.sh/ytC3g.jar.
    Se isso não resolver, não vou poder te ajudar mais... Nunca vi/mexi com esse "thermos" e ele não é mais atualizado, então não vou poder fazer nada.
  14. bieel1503's postagem in [Pedido] Plugin /Minerar was marked as the answer   
    Estranho, não deveria estar dando erro... mas aqui: https://puu.sh/yqigm.jar.
  15. bieel1503's postagem in [Pedido] Comandos através de um item! was marked as the answer   
    Fiz aqui rapidinho: https://puu.sh/ypC0r.jar
    Você vai precisar ter a permissão "xutil.use" para poder usar o comando.
  16. bieel1503's postagem in Dúvida Sistema de Lista was marked as the answer   
    "kills.put(p.getName(), 1);" você está setando pra "1", você precisa pegar a quantia que já tem no "map" e adicionar "+1".
    Tenta dar uma lidinha na outra resposta que mandei.
  17. bieel1503's postagem in Clear Drops em Runnable was marked as the answer   
    Você pode criar um método para "dropar" os items e salva-los em uma lista, tipo assim:
    List<Item> spawnItems(Location loc, List<ItemStack> items){ List<Item> droppeditems = new ArrayList<>(); for(ItemStack it : items){ Item item = loc.getWorld().dropItem(loc, it); droppeditems.add(item); } return droppeditems; } no evento, ficaria assim:
    @EventHandler private void onDeath(PlayerDeathEvent evt){ List<Item> droppeditems = spawnItems(evt.getEntity().getLocation(), evt.getDrops()); evt.getDrops().clear(); new BukkitRunnable(){ public void run(){ if(droppeditems.size() > 0){ for(Item i : droppeditems){ if(i != null){ i.remove(); } } } } }.runTaskLaterAsynchronously(Main.instance, 20*30); }
  18. bieel1503's postagem in Plugin de comando ao iniciar servidor was marked as the answer   
    Fiz aqui rapidinho:
    https://puu.sh/xuKVn.jar
  19. bieel1503's postagem in Dropar itens em uma cordenada was marked as the answer   
    Assim:
    Bukkit.getWorld("world").dropItem(new Location(world, x, y, z), new ItemStack(Material.POTATO));
  20. bieel1503's postagem in Plugin ou Skript de Bloquear itens em mundos was marked as the answer   
    Fiz aqui rapidinho:
    https://puu.sh/xbYaw.jar
     
    A permissão para ignorar isso é: 'xutil.bypass'.
  21. bieel1503's postagem in Pedido - Plugin de espera para entrar no servidor (1.8) was marked as the answer   
    Aqui está:
      - https://puu.sh/x7FUi.jar
     
    A permissão para entrar quando estiver bloqueado é "xutil.bypass".
  22. bieel1503's postagem in Plugins was marked as the answer   
    Sim, aqui está:
    https://puu.sh/vgPMy.jar
  23. bieel1503's postagem in Pedido - IronGolem não dropar flor ao morrer/ser morto! was marked as the answer   
    Eu já tinha feito esse plugin pra alguém aqui da GB, aqui está:
    https://puu.sh/vgdNC.jar
     
    Ele apenas remove as rosas do IronGolem.
  24. bieel1503's postagem in Plugin de gerador , ou skript < segunda alternativa was marked as the answer   
    Você pode colocar uma cor com outro plugin que vai funcionar do mesmo jeito
    Eu arrumei isso, se quiser, pode baixar novamente: https://puu.sh/uZoV1.jar
  25. bieel1503's postagem in Alguem sabe o plugin de /minerar? was marked as the answer   
    Olá, eu fiz um aqui "rapidinho":
    https://puu.sh/uYjDl.jar
     
    O plugin apenas cria um mundo chamado "mundomineração" e a cada 12 horas ele deleta e cria outro mundo.
    Você pode ir até o mundo digitando /minerar.
    Provavelmente vai ter alguns bugs, qualquer coisa me chama no skype(bieel1503) ou manda pm;
×
×
  • Criar Novo...