-
Total de itens
2.900 -
Registro em
-
Última visita
Respostas na Comunidade
-
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()
-
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 } }); -
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.
-
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.
-
leonardosc's postagem in [Duvida] [Java] Como faço for com um arquivo assim ? was marked as the answer
Tenta o getConfig().getKeys()
-
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)
-
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" ? '-'
-
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"); -
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.
-
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.
-
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
-
leonardosc's postagem in Regex Automático. was marked as the answer
Tu tem q manjar de Regex...
http://regexr.com/3fb31
-
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.
-
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
-
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.
-
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.
-
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;
}
-
leonardosc's postagem in [Pedido] Código simples was marked as the answer
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "darvip ...")
-
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
}
-
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
-
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) -
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
-
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...,
-
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"); } } -
leonardosc's postagem in Dar Split em uma Imagem was marked as the answer
http://stackoverflow.com/a/4818980/4861685
