Guest Gostosão do fórum SrKerwin Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Eu tenho um task, mais não faço a minima ideia de como limpar os mobs de todos os comandos do servidor.. Link para o comentário Compartilhar em outros sites More sharing options...
FabioZumbi12 Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Usa assim: public void killAllEntities(){ for (World w:Bukkit.getServer().getWorlds()){ for (Entity ent:w.getEntities()){ if (ent instanceof Player){ continue; } //checar se eh entitade viva e não armor stands e item frames if (ent instanceof LivingEntity){ ((LivingEntity)ent).remove(); } } } } Link para o comentário Compartilhar em outros sites More sharing options...
Guest Ramon Dornelles Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Tenta assim: for(World w : Bukkit.getWorlds()){ for(Entity en : w.getEntities()){ en.remove(); }} Fiz aqui no fórum, se ficar alguma coisa vermelha tenta ver as sugestões do seu IDE. Link para o comentário Compartilhar em outros sites More sharing options...
Guest Gostosão do fórum SrKerwin Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 (editado) Tenta assim: for(World w : Bukkit.getWorlds()){ for(Entity en : w.getEntities()){ en.remove(); }} Fiz aqui no fórum, se ficar alguma coisa vermelha tenta ver as sugestões do seu IDE. boolean LimpMobs = true; int repetir; public void newTask() { repetir = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { public void run() { if (!(LimpMobs)) { Bukkit.getScheduler().cancelTask(repetir); repetir = -1; return; } Bukkit.broadcastMessage("§3Todos os mobs foram limpados.."); for(World w : Bukkit.getWorlds()){ for(Entity en : w.getEntities()){ en.remove(); } } } }, 20 * 20L, 20 * 5L); } Não está limpando os mobs nem nada.. está no máximo mandando o broadcast.. mais não e isso que eu quero! Editado Abril 13, 2016 por Gostosão do fórum SrKerwin Link para o comentário Compartilhar em outros sites More sharing options...
Dery Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Tenta assim: for(World w : Bukkit.getWorlds()){ for(Entity en : w.getEntities()){ en.remove(); }} Fiz aqui no fórum, se ficar alguma coisa vermelha tenta ver as sugestões do seu IDE. Player também é uma Entity, fazendo isso, irá "remover" os players do servidor Link para o comentário Compartilhar em outros sites More sharing options...
Guest Gostosão do fórum SrKerwin Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Player também é uma Entity, fazendo isso, irá "remover" os players do servidor Eu tinha notado isso, só puis o código achando que poderia funcionar.. mais não funcionou.. "os jogadores travam sem usar comandos nem nada"! Poderia me ajudar com algum outro método? Link para o comentário Compartilhar em outros sites More sharing options...
Guest Ramon Dornelles Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 boolean LimpMobs = true; int repetir; public void newTask() { repetir = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { public void run() { if (!(LimpMobs)) { Bukkit.getScheduler().cancelTask(repetir); repetir = -1; return; } Bukkit.broadcastMessage("§3Todos os mobs foram limpados.."); for(World w : Bukkit.getWorlds()){ for(Entity en : w.getEntities()){ en.remove(); } } } }, 20 * 20L, 20 * 5L); } Não está limpando os mobs nem nada.. está no máximo mandando o broadcast.. mais não e isso que eu quero! Quando eu entrar no pc eu vejo se consigo te ajudar melhor. Player também é uma Entity, fazendo isso, irá "remover" os players do servidor Creio que o void "remove" não é instanciado para jogador, mas pra evitar dúvidas, basta adicionar isso no código: if(en instanceof Player){ continue; } Link para o comentário Compartilhar em outros sites More sharing options...
Guest Gostosão do fórum SrKerwin Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Quando eu entrar no pc eu vejo se consigo te ajudar melhor. Vai demorar? precisaria do código com urgencia.. mais se e uma opção única eu espero Link para o comentário Compartilhar em outros sites More sharing options...
Guest Ramon Dornelles Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Vai demorar? precisaria do código com urgencia.. mais se e uma opção única eu espero Add skype: ramonxd131, assim que add me avisa que eu logo lá Link para o comentário Compartilhar em outros sites More sharing options...
Guest Gostosão do fórum SrKerwin Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Add skype: ramonxd131, assim que add me avisa que eu logo lá Vou adicionar quando poder Link para o comentário Compartilhar em outros sites More sharing options...
GhostTheWolf Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Usa assim: public void killAllEntities(){ for (World w:Bukkit.getServer().getWorlds()){ for (Entity ent:w.getEntities()){ if (ent instanceof Player){ continue; } //checar se eh entitade viva e não armor stands e item frames if (ent instanceof LivingEntity){ ((LivingEntity)ent).remove(); } } } } Por que fez Cast em ent? Link para o comentário Compartilhar em outros sites More sharing options...
FabioZumbi12 Postado Abril 13, 2016 Denunciar Compartilhar Postado Abril 13, 2016 Por que fez Cast em ent? Não precisa mesmo! Procurei kill em livingEntity mas n tem, dai eskeci de tirar, mas n interfere em nd nao ^^ Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Gostosão do fórum SrKerwin
Eu tenho um task, mais não faço a minima ideia de como limpar os mobs de todos os comandos do servidor..
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados