-
Total de itens
130 -
Registro em
-
Última visita
Respostas na Comunidade
-
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.
-
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; }
-
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)); }
-
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); }
-
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
-
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
-
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".
-
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.
-
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; -
bieel1503's postagem in Meu Eclipse não gera .class was marked as the answer
As .classes estão em: <workspacedir>/<project>/bin
-
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.
-
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.
-
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.
-
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.
-
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.
-
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); } -
bieel1503's postagem in Plugin de comando ao iniciar servidor was marked as the answer
Fiz aqui rapidinho:
https://puu.sh/xuKVn.jar
-
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)); -
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'.
-
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".
-
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.
-
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
-
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;