Janone Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 Bom estou querendo fazer uma coisa bem legal quando o jogador morrer porem não consigo fazer ele ser teleportado para uma determinada location Queria saber o que posso fazer para ele ser teleportado para um Mundo com cordenadas que eu colocar Lembrando que uso Spigot Link para o comentário Compartilhar em outros sites More sharing options...
Hard Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 (editado) @EventHandler(priority = EventPriority.HIGHEST) public void Respawn(PlayerDeathEvent e) { final Player p = e.getEntity(); Bukkit.getScheduler().runTaskLater(Main.plugin, new Runnable() { @Override public void run() { p.spigot().respawn(); Location loc = new Location(Bukkit.getWorld("Spawn"), 164.500D, 122D, -1498.500, 90.0F, 0.0F); p.teleport(loc); } }, 1L); } Editado Junho 22, 2017 por Hard Link para o comentário Compartilhar em outros sites More sharing options...
zDaask Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 /setworldspawn 1 Link para o comentário Compartilhar em outros sites More sharing options...
FilipeNock Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 ele n pode ser teleportado quando morre, teleporta ele quando o player dar respawn PlayerRespawnEvent 1 Link para o comentário Compartilhar em outros sites More sharing options...
zAth Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 usa o PlayerRespawnEvent e teleporta ele ou usa o PlayerDeathEvent e obriga o player a ser respawnado ignorando o menu de morte usando e.getPlayer().spigot().respawn() e depois teleporta ele para a sua location. Quando eu testei o .spigot().respawn() por algum motivo não respawnei quando dei /kill , mas se morrer por outras causas como queda, explosão, pvp, etc.. já respawnei. 1 Link para o comentário Compartilhar em outros sites More sharing options...
Janone Postado Junho 22, 2017 Autor Denunciar Compartilhar Postado Junho 22, 2017 (editado) usa o PlayerRespawnEvent e teleporta ele ou usa o PlayerDeathEvent e obriga o player a ser respawnado ignorando o menu de morte usando e.getPlayer().spigot().respawn() e depois teleporta ele para a sua location. Quando eu testei o .spigot().respawn() por algum motivo não respawnei quando dei /kill , mas se morrer por outras causas como queda, explosão, pvp, etc.. já respawnei. vou testar já edito @Edit Funcionando a 1 Parte @EventHandler(priority = EventPriority.HIGHEST) public void onDeath(PlayerDeathEvent e){ Player p = e.getEntity().getPlayer(); p.spigot().respawn(); Location loc = new Location(Bukkit.getWorld("Spawn"), 164.500D, 122D, -1498.500, 90.0F, 0.0F); e.getEntity().teleport(loc); } Ele teleporta o item de quem morreu pra locação acima Editado Junho 22, 2017 por Janone Link para o comentário Compartilhar em outros sites More sharing options...
zAth Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 vou testar já edito @Edit Funcionando a 1 Parte @EventHandler(priority = EventPriority.HIGHEST) public void onDeath(PlayerDeathEvent e){ Player p = e.getEntity().getPlayer(); p.spigot().respawn(); Location loc = new Location(Bukkit.getWorld("Spawn"), 164.500D, 122D, -1498.500, 90.0F, 0.0F); e.getEntity().teleport(loc); } Ele teleporta o item de quem morreu pra locação acima @EventHandler(priority = EventPriority.HIGHEST) public void onDeath(PlayerDeathEvent e){ Player p = e.getEntity().getPlayer(); Arrays.stream(p.getInventory().getContents()).forEach(itemStack -> p.getLocation().getWorld().dropItemNaturally(p.getLocation(), itemStack)); Arrays.stream(p.getInventory().getArmorContents()).forEach(itemStack -> p.getLocation().getWorld().dropItemNaturally(p.getLocation(), itemStack)); p.getInventory().clear(); p.spigot().respawn(); Location loc = new Location(Bukkit.getWorld("Spawn"), 164.500D, 122D, -1498.500, 90.0F, 0.0F); p.teleport(loc); } 1 Link para o comentário Compartilhar em outros sites More sharing options...
Janone Postado Junho 22, 2017 Autor Denunciar Compartilhar Postado Junho 22, 2017 (editado) @EventHandler(priority = EventPriority.HIGHEST) public void onDeath(PlayerDeathEvent e){ Player p = e.getEntity().getPlayer(); Arrays.stream(p.getInventory().getContents()).forEach(itemStack -> p.getLocation().getWorld().dropItemNaturally(p.getLocation(), itemStack)); Arrays.stream(p.getInventory().getArmorContents()).forEach(itemStack -> p.getLocation().getWorld().dropItemNaturally(p.getLocation(), itemStack)); p.getInventory().clear(); p.spigot().respawn(); Location loc = new Location(Bukkit.getWorld("Spawn"), 164.500D, 122D, -1498.500, 90.0F, 0.0F); p.teleport(loc); } Não teleportou pra LOC é esta duplicando os itens do player Editado Junho 22, 2017 por Janone Link para o comentário Compartilhar em outros sites More sharing options...
Atlvntis. Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 Não teleportou pra LOC é esta duplicando os itens do player Faça um scheduler ou uma task de 1 ou mais ticks de delay, tem que esperar o cara respawnar pra teletransportar. 1 Link para o comentário Compartilhar em outros sites More sharing options...
zAth Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 Se fizer a task acho que já não precisa de limpar o inventário.. tenta com e sem. 1 Link para o comentário Compartilhar em outros sites More sharing options...
Gcunha Postado Junho 22, 2017 Denunciar Compartilhar Postado Junho 22, 2017 Voce quer que limpe os itens ou nao ? 1 Link para o comentário Compartilhar em outros sites More sharing options...
Janone Postado Junho 22, 2017 Autor Denunciar Compartilhar Postado Junho 22, 2017 Obrigado a todos que tiraram um pouco do seu tempo para poder me ajudar Link para o comentário Compartilhar em outros sites More sharing options...
Gutyerrez Postado Junho 27, 2017 Denunciar Compartilhar Postado Junho 27, 2017 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
Janone
Bom estou querendo fazer uma coisa bem legal quando o jogador morrer
porem não consigo fazer ele ser teleportado para uma determinada location
Queria saber o que posso fazer para ele ser teleportado para um Mundo com cordenadas que eu colocar
Lembrando que uso Spigot
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados