Ir para conteúdo
  • 0

[Dúvida] Plugin de /setspawn {src}


yemiefi

Pergunta

Eu fiz um plugin de /setspawn e /spawn, bem simples, básicão, porém estou com dois problemas:

1) Quando o player usa /spawn ele não é teleportado no centro do bloco que eu setei spawn, ele fica no canto do bloco e eu não quero isso, quero que ele se teleporte no centro, como faço isso?
2) Quando o player usa /spawn ele não é teleportado na direção que eu setei (norte por exemplo) e sim sempre olhando na direção (sul por exemplo), quero que ele nasça olhando para onde eu estava olhando quando setei, como faço isso?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 2
  1. Vou adivinhar, você está pegando os valores como "int", né? Você deve salvar o 'X' e o 'Z' como eles são; doubles, e pega-los assim. Você não pode pega-los como "int". Ah, mas se você estiver guardando como "int", você pode apenas adicionar '+0.5' para o "local"(ou remover '-0.5", se for um valor negativo).
  2. Logicamente, um "local" pode ser criado com o 'X', 'Y' e 'Z', mas um "local" também pode guardar uma "direção(?)" e é para isso que o 'YAW' e o 'PITCH' do "local" serve. O 'YAW' sendo a rotação e o 'PITCH' como a inclinação. Então, se você estiver guardando só o 'X', 'Y' e o 'Z' do "local", para guardar o "local" que o jogador estava olhando, você precisa guardar também o 'YAW' e 'PITCH'.

SOURCE

Link para o comentário
Compartilhar em outros sites

  • 1

Quase certeza que, você está usando uma config para salvar o spawn.

Da para usar o ptch e o yaw, basta usar:

Float.valueOf(jogador.getLocation().getPitch());

Float.valueOf(jogador.getLocation().getYaw());

ele pega os valores dos dois, ai você salva como quiser.

 

Ai na hora do teleport, você seta o yaw e o pitch também, após o X,Y,Z.

Location loc = new Location(world, x, y, z, yaw, pitch);
jogador.getPlayer().teleport(loc);

 

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

  • 0
11 horas atrás, Mounton disse:

Quase certeza que, você está usando uma config para salvar o spawn.

Da para usar o ptch e o yaw, basta usar:


Float.valueOf(jogador.getLocation().getPitch());

Float.valueOf(jogador.getLocation().getYaw());

ele pega os valores dos dois, ai você salva como quiser.

 

Ai na hora do teleport, você seta o yaw e o pitch também, após o X,Y,Z.


Location loc = new Location(world, x, y, z, yaw, pitch);
jogador.getPlayer().teleport(loc);

 

Obrigado ajudou bastante!

11 horas atrás, bieel1503 disse:
  1. Vou adivinhar, você está pegando os valores como "int", né? Você deve salvar o 'X' e o 'Z' como eles são; doubles, e pega-los assim. Você não pode pega-los como "int". Ah, mas se você estiver guardando como "int", você pode apenas adicionar '+0.5' para o "local"(ou remover '-0.5", se for um valor negativo).
  2. Logicamente, um "local" pode ser criado com o 'X', 'Y' e 'Z', mas um "local" também pode guardar uma "direção(?)" e é para isso que o 'YAW' e o 'PITCH' do "local" serve. O 'YAW' sendo a rotação e o 'PITCH' como a inclinação. Então, se você estiver guardando só o 'X', 'Y' e o 'Z' do "local", para guardar o "local" que o jogador estava olhando, você precisa guardar também o 'YAW' e 'PITCH'.

SOURCE

Obrigado, ajudou muito! ^-^

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...