Ir para conteúdo

leonardosc

Membros VIP
  • Total de itens

    2.900
  • Registro em

  • Última visita

Respostas na Comunidade

  1. leonardosc's postagem in [Dúvida] ConcurrentModificationException was marked as the answer   
    Tira isso
     
    cooldowns.remove(cooldown);
     
    deixa só o 
     
    iterator.remove()
     
    pq ele já ta removendo do "cooldowns".
     
    Faz o mesmo no toRemove, deixa só o iterator.remove()
  2. leonardosc's postagem in [Duvida] [Java] Como posso fazer para comunicar dados entre servidores ??? was marked as the answer   
    BungeeChannelApi api = BungeeChannelApi.of(this); // this = Plugin instance. // Fica no plugin de HG ByteArrayDataOutput output = ByteStreams.newDataOutput(); // escreve os dados no output, como por exemplo, o estado atual do servidor, quantidade de jogadores e etc api.forward("nome do servidor do lobby ou ALL pra todos servidores", "nome_do_canal", output); // Fica no plugin pra lobby api.registerForwardListener("nome_do_Canal", (channelName, player, data) -> { ByteArrayDataInput in = ByteStreams.newDataInput(message); // le as informaçoes enviadas }); Fiz aqui mesmo, pode ter erros.
     
    outro exemplo
    // Fica no plugin de HG ByteArrayDataOutput output = ByteStreams.newDataOutput(); // quando uma sala de HG ficar disponivel output.writeUTF("SALA_DISPONIVEL"); // Coloquei uma string só pra ficar didático, recomendo usar um int pra identificar o estado. // quando jogo iniciar output.writeUTF("JOGO_INICIOU"); // Envia o output api.forward("nome do servidor ou ALL pra todos servidores", "nome_do_canal", output); // Fica no plugin pra lobby api.registerForwardListener("nome_do_canal", (channelName, player, data) -> { ByteArrayDataInput in = ByteStreams.newDataInput(message); String acao = in.readUTF(); // ação, como se fosse o ID de um Packet if (acao.equals("SALA_DISPONIVEL")) { // atualiza uma placa e etc } else if (acao.equals("JOGO_INICIOU")) { // atualiza a placa dnv } });
  3. leonardosc's postagem in Enviar comandos entre servidores (Bungee) was marked as the answer   
    Exemplo usando o BungeeChannelApi https://github.com/leonardosnt/BungeeChannelApi
    BungeeChannelApi api = BungeeChannelApi.of(this); // this = Plugin instance. // Enviar o comando ByteArrayDataOutput out = ByteStreams.newDataOutput(); out.writeUTF("comando pra executar"); api.forward("nome do server", "execute_cmd", out.toByteArray()); // Isso tu adiciona no plugin que vai ficar em todos os servidores. api.registerForwardListener("execute_cmd", (channelName, player, data) -> { ByteArrayDataInput in = ByteStreams.newDataInput(data); String command = in.readUTF(); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command); }); Fiz aqui mesmo, na teoria deve funcionar, não testei.
  4. leonardosc's postagem in [Duvida] [Java] Optimizar o uso de memoria do plugin? was marked as the answer   
    "return Main.mysql.getKills(p.getName());"
     
    Se você tiver usando Mysql talvez seja o problema, você está fazendo várias queries a cada 5 segundos...
     
    Você deve "cachear" esses valores. Por exemplo, quando o jogador entrar no servidor você pega os dados dele da database e salva na memória, quando ele sair você salva de volta no database.
  5. leonardosc's postagem in [Duvida] [Java] Como faço for com um arquivo assim ? was marked as the answer   
    Tenta o getConfig().getKeys()
  6. leonardosc's postagem in [Duvida] Como enviar EMAIL was marked as the answer   
    Só usar o JavaMail, da uma olhada aqui http://www.devmedia.com.br/enviando-email-com-javamail-utilizando-gmail/18034
     
    Também tem essa https://github.com/bbottema/simple-java-mail(nunca usei)
  7. leonardosc's postagem in ByteArrayOutputStream was marked as the answer   
    Aumenta a memoria cara, ou melhora seja la oq tu esteja fazendo... tu quer alocar mais memoria doq a JVM "aguenta" ? '-'
  8. leonardosc's postagem in [Dúvida] Dar replace em todos os chars de uma palavra. was marked as the answer   
    Tem que ser replaceAll
     
    String string = "Banana é uma ótima fruta."; string.replaceAll("Banana", "Tomate"); 
  9. leonardosc's postagem in Is it up to date? was marked as the answer   
    Não é erro do spigot/bukkit, é erro do seu plugin mesmo.
     
    Ta na linha 14 do arquivo Main.java.
     
     
    Esse "Is it up to date?" aparece para todos os erros em plugins.
  10. leonardosc's postagem in [Dúvida] Bukkit code json mensagem was marked as the answer   
    É bem simples de fazer, da uma olhada aqui https://www.spigotmc.org/wiki/the-chat-component-api/
     
    Se não conseguir avisa, ai eu mando um exemplo.
  11. leonardosc's postagem in [Dúvida] StringList de itens com data e encantamentos was marked as the answer   
    Da uma olhada https://gist.github.com/leonardosnt/ea205f7e4f1bfaf841af639985054761
  12. leonardosc's postagem in Regex Automático. was marked as the answer   
    Tu tem q manjar de Regex...
     
    http://regexr.com/3fb31
  13. leonardosc's postagem in Plugin não gerando pasta :( was marked as the answer   
    getDataFolder().mkdirs()
    Coloca no onEnable, antes de criar o arquivo q vc quer.
  14. leonardosc's postagem in CraftLivingEntity cannot be resolved to a type was marked as the answer   
    Então tu esqueceu de importar, usa CTRL+SHIFT+O
  15. leonardosc's postagem in [PEDIDO] - Login usando o AuthMe PHP was marked as the answer   
    Tem essa classe que eu fiz a 2 anos atras, https://github.com/leonardosnt/AuthMe-Web/blob/master/src/AuthMe.class.php
     
    É simples de usar, mas caso precise de ajuda, é só avisar.
  16. leonardosc's postagem in Usar toda a CPU. was marked as the answer   
    Tu ta printando no console 10kk de vezes, quer q demore oq? 1s?
     
    Não adianta nada tu usar Thread pool e dar submit só uma vez, esse código ai só vai executar em 1 thread, se tu quer processar em paralelo tu tem que dividir em tds threads.
  17. leonardosc's postagem in Código simples novamente was marked as the answer   
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    if (args.length == 0) {
    sender.sendMessage("Use /batata help/help2");
    return false;
    }
     
    if (args[0].equalsIgnoreCase("help")) {
    // asdasdasdsad
    } else if (args[0].equalsIgnoreCase("help2")) {
    // ashuduahsdji
    }
    return true;
    }

     
  18. leonardosc's postagem in [Pedido] Código simples was marked as the answer   
    Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "darvip ...")
     
  19. leonardosc's postagem in [PORCENTAGEM] was marked as the answer   
    double random = (Math.random() * 100);
     
    if (random < 70) { // 70% de change de entrar nesse bloco
     
    } else {  // 30% chance de entrar nesse bloco
      
    }
  20. leonardosc's postagem in [Duvida] .sh - CentOS autostart? was marked as the answer   
    Acho que é por causa do CRLF  (quebra de linha) do windows...
     
    Executa isso
    sed -i -e 's/\r$//' start.sh Pra remover o CR. start.sh é o nome do arquivo que ta o script
  21. leonardosc's postagem in [Dúvida] Pegar blocos ao redor do player was marked as the answer   
    Tenta
     
    playerPos seria o bloco que o cara quebrou, o do meio, na sua print seria o 2.
    bloco1 = playerPos.add(1, 0, 1) bloco2 = playerPos.add(-1, -3, -1)
  22. leonardosc's postagem in Proteger Pacotes. was marked as the answer   
    Sim, RSA, PGP...
     
    Eu só conheço essas 2 que são assimétricas.
     
    Aki tem outras
     
    https://pt.wikipedia.org/wiki/Criptografia_de_chave_p%C3%BAblica#Exemplos
  23. leonardosc's postagem in [Dúvida] Scoreboard e substring was marked as the answer   
    @Edit
    String texto = "um texto grandkakssdad asd asdsad"; List<String> parts = new ArrayList<>(); if (texto.length() >= 16 && texto.length() < 48) { int idx = 0; for (int i = 0; i < 4; i++) { int end = (i + 1) * 15; boolean done = false; if (end >= texto.length()) { end = texto.length() - 1; done = true; } parts.add(texto.substring(idx, end)); if (done) { break; } idx = end; } } Fiz essa gambiarra ai e funcionou, vlw flw.
     
    ele divide o texto em pedaços de 15 caracteres e adiciona na lista 'parts', é só tu pegar cada um e setar...,
  24. leonardosc's postagem in [Bug Esquisitão] Blocos bugados? Plugin bugado? Minecraft bugado? N sei '-' was marked as the answer   
    No escopo da classe
    Map<Integer, Byte> blocosPermitidos = new HashMap<>(); no onEnable
    List<String> rawItems = getConfig().getStringList("blocos-permitidos"); for (String rawItem : rawItems) { byte data; int id; if (rawItem.indexOf(':') > -1) { String[] parts = rawItem.split(":"); data = Byte.parseByte(parts[1]); id = Integer.parseInt(parts[0]); } else { id = Integer.parseInt(rawItem); data = -1; } blocosPermitidos.put(id, data); } no evento
    @EventHandler public void on(BlockPlaceEvent e) { Block block = e.getBlock(); Byte mappedData = blocosPermitidos.get(block.getTypeId()); // se mappedData for null então não tem nenhum bloco com esse id na map // se for -1 ele engloba todos os "data values" if (mappedData != null && (mappedData == -1 || mappedData == block.getData())) { e.getPlayer().sendMessage("tem"); } }
  25. leonardosc's postagem in Dar Split em uma Imagem was marked as the answer   
    http://stackoverflow.com/a/4818980/4861685
×
×
  • Criar Novo...