Ir para conteúdo
  • 0

Players num raio de 50 blocos


joao100101

Pergunta

(Essa é uma duvida sobre programação de plugins minecraft)

Olá pessoa, queria saber de um método que eu posso usar pra pegar todos os jogadores que estão numa área de 50 blocos do player que executou o comando.

Já testei algumas formas e todas elas acabaram dando erro, gostaria que vocês me mostrassem novas possibilidades ai, agradeço desde já.

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0
10 minutos atrás, SmarttBR disse:

Você pode tentar:
 


for (Entity ent : p.getNearbyEntities(50.0D, 50.0D, 50.0D)) {
	if (ent instanceof Player) {
		//...
	}
}

 

https://hastebin.com/axudotagip.nginx

o erro foi nessa linha

for (Entity ent : p.getNearbyEntities(50.0D, 50.0D, 50.0D)) {

PS.. estou usando a versão 1.15.2

Link para o comentário
Compartilhar em outros sites

  • 0
11 minutos atrás, joao100101 disse:

https://hastebin.com/axudotagip.nginx

o erro foi nessa linha


for (Entity ent : p.getNearbyEntities(50.0D, 50.0D, 50.0D)) {

PS.. estou usando a versão 1.15.2

Eu estava lendo a API do spigot versão 1.15.2 e pelo que eu vi você precisa especificar a localização Screenshot_2.jpg.19f81c31984310db5a7471dcf303f2eb.jpg

 

OBS: foi só o que eu vi kkk ent na vdd n sei direito mas pode ser.

 for (Entity ent : p.getWorld(p.getLocation(), 50.0D, 50.0D, 50,0D)) {

//Codigo

      }

 

fonte: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/World.html#getNearbyEntities-org.bukkit.Location-double-double-double-

Editado por TheGhoostDEV
Link para o comentário
Compartilhar em outros sites

  • 0
8 minutos atrás, TheGhoostDEV disse:

Eu estava lendo a API do spigot versão 1.15.2 e pelo que eu vi você precisa especificar a localização Screenshot_2.jpg.19f81c31984310db5a7471dcf303f2eb.jpg

 

OBS: foi só o que eu vi kkk ent na vdd n sei direito mas pode ser.

 for (Entity ent : p.getWorld(p.getLocation(), 50.0D, 50.0D, 50,0D)) {

//Codigo

      }

 

fonte: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/World.html#getNearbyEntities-org.bukkit.Location-double-double-double-

Faltou o NearbyEntities

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, fiz um teste aqui e esse método getnearbyentities fica dando erro no listener AsyncPlayerChatEvent, porém quando eu coloco ele num comando ele funciona

por exemplo: coloco pra quando alguém der /teste os player que estão a 50 blocos recebem a mensagem

colocando no comando ele não retorna erro, porém no listener ele retorna aquele mesmo erro

conseguiram entender?

Link para o comentário
Compartilhar em outros sites

  • 0
19 minutos atrás, joao100101 disse:

Pessoal, fiz um teste aqui e esse método getnearbyentities fica dando erro no listener AsyncPlayerChatEvent, porém quando eu coloco ele num comando ele funciona

por exemplo: coloco pra quando alguém der /teste os player que estão a 50 blocos recebem a mensagem

colocando no comando ele não retorna erro, porém no listener ele retorna aquele mesmo erro

conseguiram entender?

Manda print de como você usou em ambos

Link para o comentário
Compartilhar em outros sites

  • 0
51 minutos atrás, SmarttBR disse:

Manda print de como você usou em ambos

Acabei encontrando uma maneira que ele funciona no listener.

o código é o seguinte: https://hastebin.com/ekuzosukux.java

funcionou mas ficou meio bugadão, conforme no video:

https://youtu.be/56_Nz_YJjlc

 

Estou usando as sugestões que achei num outro fórum aki, link da publi:

Link

 

Link para o comentário
Compartilhar em outros sites

  • 0
14 horas atrás, joao100101 disse:

Acabei encontrando uma maneira que ele funciona no listener.

o código é o seguinte: https://hastebin.com/ekuzosukux.java

funcionou mas ficou meio bugadão, conforme no video:

https://youtu.be/56_Nz_YJjlc

 

Estou usando as sugestões que achei num outro fórum aki, link da publi:

Link

 

Eu não entendi o porque de um Runnable ali, poderia me explicar o porque?

 

Link para o comentário
Compartilhar em outros sites

  • 0
14 horas atrás, joao100101 disse:

Acabei encontrando uma maneira que ele funciona no listener.

o código é o seguinte: https://hastebin.com/ekuzosukux.java

funcionou mas ficou meio bugadão, conforme no video:

https://youtu.be/56_Nz_YJjlc

 

Estou usando as sugestões que achei num outro fórum aki, link da publi:

Link

 

Apenas retire os "break". Se quer fazer um loop de todos os jogadores, dando um break você irá parar no primeiro resultado.

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Felipe | TheGhoost disse:

Eu não entendi o porque de um Runnable ali, poderia me explicar o porque?

 

Peguei ali do fórum do spigot, aquele que deixei o link. Antes de eu usar a runnable ali o código nem rodava, ficava dando erro 

Asynchronous getNearbyEntities!
Link para o comentário
Compartilhar em outros sites

  • 0
4 minutos atrás, joao100101 disse:

Quando eu tiro os break a mensagem é enviada duas vezes

Só para o jogador ou para todos os outros duas vezes? Se for só pro jogador, só verificar no loop se o player não é o sender

Link para o comentário
Compartilhar em outros sites

  • 0
13 minutos atrás, TheGeneX disse:

Só para o jogador ou para todos os outros duas vezes? Se for só pro jogador, só verificar no loop se o player não é o sender

Resolvido, só precisei retirar o break, a linha que estava sendo repetida era outra, consegui fazer ela parar de repetir quando usei o método getNearbyEntities pra verificar se tinha alguém próximo ou não.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...