Herobrinedobem Postado Fevereiro 12, 2015 Denunciar Compartilhar Postado Fevereiro 12, 2015 Bom, vejo muita gente utilizando arraylists de player, como o exemplo a seguir: private ArrayList<Player> participantes = new ArrayList<Player>(); Mas ai eu te falo que isso pode acabar ocorrendo problemas em certos casos, além de guardar informações que podem causar um uso de memória desnecessário. Mas porque pode causar alguns erros? Quando você coloca algum player dentro desse array, você vai estar criando indiretamente uma nova instancia do player, assim mantendo todos os dados dele salvo, caso esse jogador deslogue e você não trate esse evento, pode acabar causando uma fuga de memória pois a chunck onde esse tal player estava vai continuar carregada pois você ainda tem a instancia dele no seu array, as vezes também pode ocorrer do player entrar como OfflinePlayer, pois já vai ter uma instancia dele no server, assim quando ele for re-entrar no servidor, pode acontecer isso, assim podendo acontecer erros como perda de itens e coisas do genero (Isso não se aplica a Keys). O melhor jeito de criar um array de player seria utilizando nas versões mais novas o UUID dele, que pode ser pego com getUniqueId(), em versões mais antigas basta criar um array de String e colocar nesse array apenas o nome do player, para pegar o jogador depois é só: for(String s : participantes){ Player p = Bukkit.getServer().getPlayer(s); } Assim evitando erros e bugs =) Link para o comentário Compartilhar em outros sites More sharing options...
TzMarcio Postado Fevereiro 12, 2015 Denunciar Compartilhar Postado Fevereiro 12, 2015 Esse nem manja de java naum ;-; Boa o/ vo começa a aprender java e a criar plugins pois tem coisas que não da de fazer em skript ;-; 1 Link para o comentário Compartilhar em outros sites More sharing options...
Naghtrion Postado Fevereiro 12, 2015 Denunciar Compartilhar Postado Fevereiro 12, 2015 Tambem server pra isso "List<String> players = new ArrayList<String>();"? ai so coloco isso no lugar for(String s : participantes){ Player p = Bukkit.getServer().getPlayer(s); } vlw 1 Link para o comentário Compartilhar em outros sites More sharing options...
zViniciimBR Postado Fevereiro 12, 2015 Denunciar Compartilhar Postado Fevereiro 12, 2015 Bom, vejo muita gente utilizando arraylists de player, como o exemplo a seguir: Mas ai eu te falo que isso pode acabar ocorrendo problemas em certos casos, além de guardar informações que podem causar um uso de memória desnecessário. Mas porque pode causar alguns erros? Quando você coloca algum player dentro desse array, você vai estar criando indiretamente uma nova instancia do player, assim mantendo todos os dados dele salvo, caso esse jogador deslogue e você não trate esse evento, pode acabar causando uma fuga de memória pois a chunck onde esse tal player estava vai continuar carregada pois você ainda tem a instancia dele no seu array, as vezes também pode ocorrer do player entrar como OfflinePlayer, pois já vai ter uma instancia dele no server, assim quando ele for re-entrar no servidor, pode acontecer isso, assim podendo acontecer erros como perda de itens e coisas do genero (Isso não se aplica a Keys). O melhor jeito de criar um array de player seria utilizando nas versões mais novas o UUID dele, que pode ser pego com getUniqueId(), em versões mais antigas basta criar um array de String e colocar nesse array apenas o nome do player, para pegar o jogador depois é só: Assim evitando erros e bugs =) Bem que vc podia fazer uma serie no seu canal explicando o básico de java para fazer plugins. Link para o comentário Compartilhar em outros sites More sharing options...
Guest LeoCheioDeWarn Postado Fevereiro 12, 2015 Denunciar Compartilhar Postado Fevereiro 12, 2015 Por isso eu só coloco o nome ou uuid Link para o comentário Compartilhar em outros sites More sharing options...
Guest heromax Postado Fevereiro 12, 2015 Denunciar Compartilhar Postado Fevereiro 12, 2015 Faz sentido... Pode-se fazer uma arraylist<String> somente com nomes de players tambem. Link para o comentário Compartilhar em outros sites More sharing options...
Herobrinedobem Postado Fevereiro 13, 2015 Autor Denunciar Compartilhar Postado Fevereiro 13, 2015 Faz sentido... Pode-se fazer uma arraylist<String> somente com nomes de players tambem. Sim, foi o que eu disse no post e.e Link para o comentário Compartilhar em outros sites More sharing options...
Guest Demarchi Postado Fevereiro 13, 2015 Denunciar Compartilhar Postado Fevereiro 13, 2015 Não seria getServer().getPlayersOnline() Link para o comentário Compartilhar em outros sites More sharing options...
Herobrinedobem Postado Fevereiro 13, 2015 Autor Denunciar Compartilhar Postado Fevereiro 13, 2015 Não seria getServer().getPlayersOnline() Isso é para pegar todos do servidor que estão online, o que eu falei é para pegar apenas os que estão no array. Link para o comentário Compartilhar em outros sites More sharing options...
Guest Maatrix Postado Fevereiro 13, 2015 Denunciar Compartilhar Postado Fevereiro 13, 2015 String Ninja = "The Best Fucking Java Pluginner"; if(GamersBoard.getUser("Herobrinedobem") == Ninja) { World().sendMessage("O Herobrine é melhor do que você, seu INSIGNIFICANTE!); Stop.World(); } } Link para o comentário Compartilhar em outros sites More sharing options...
Guest heromax Postado Fevereiro 15, 2015 Denunciar Compartilhar Postado Fevereiro 15, 2015 String Ninja = "The Best Fucking Java Pluginner"; if(GamersBoard.getUser("Herobrinedobem") == Ninja) { World().sendMessage("O Herobrine é melhor do que você, seu INSIGNIFICANTE!); Stop.World(); } } .-. Link para o comentário Compartilhar em outros sites More sharing options...
LymeeFairy Postado Setembro 20, 2024 Denunciar Compartilhar Postado Setembro 20, 2024 ARQUIVAMENTO DE CONTEÚDO O tópico foi arquivado. A partir deste momento, não será mais possível editar ou adicionar novos comentários. Caso precise de informações adicionais, por favor, entre em contato com a equipe da comunidade. Equipe de Moderação Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados