Frogguer Postado Abril 17, 2018 Denunciar Compartilhar Postado Abril 17, 2018 Como o nome do topico mesmo já diz uma head que fique girando 360º em cima de um bloco Link para o comentário Compartilhar em outros sites More sharing options...
0 Hiper Postado Abril 21, 2018 Denunciar Compartilhar Postado Abril 21, 2018 (editado) ArmorStand as = p.getWorld().spawn(p.getLocation(), ArmorStand.class); // spawna a ArmorStand as.setHelmet(new ItemStack(Material.SKULL_ITEM, 1, (short) 3)); // coloca uma cabeça nela as.setVisible(false); // coloca pra ela nao ficar visivel new BukkitRunnable() { @Override public void run() { EulerAngle ea = as.getHeadPose(); // obtem a posição atual as.setHeadPose(ea.subtract(0, 0.25, 0)); // define a posiçao da cabeça e tira 0.25 do Y } }.runTaskTimer(this, 1L, 1L); Frogger, isso executa quando você faz um comando? Se sim, tenta por o runnable no onEnable(), e vê se você salva a location em uma config e dps da getLocation la na config ou assim porque senao dps o pl não sabe a location quando reiniciar nem quando o player relogar (isso é o que deve tar acontecendo com voce) Editado Abril 21, 2018 por Hiper 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 zDubsCrazy2 Postado Abril 17, 2018 Denunciar Compartilhar Postado Abril 17, 2018 ((Skull) block.getState()).setRotation(BlockFace.NORTH_EAST); faz com todos os BlockFace Link para o comentário Compartilhar em outros sites More sharing options...
0 Aureom Postado Abril 17, 2018 Denunciar Compartilhar Postado Abril 17, 2018 Coloque um armorstand invisível e sem gravidade com a cabeça desejada no lugar da cabeça, e só fique aumentando o yaw do armorstand, quanto menos você aumentar o yaw por segundo/ticks mais suave vai ser a animação. Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Abril 17, 2018 Autor Denunciar Compartilhar Postado Abril 17, 2018 Coloque um armorstand invisível e sem gravidade com a cabeça desejada no lugar da cabeça, e só fique aumentando o yaw do armorstand, quanto menos você aumentar o yaw por segundo/ticks mais suave vai ser a animação. Quero deixar em tamanho real e girando lentamente Link para o comentário Compartilhar em outros sites More sharing options...
0 Aureom Postado Abril 17, 2018 Denunciar Compartilhar Postado Abril 17, 2018 Quero deixar em tamanho real e girando lentamente Então, oque eu te disse faz exatamente exatamente isso, só você criar o armorstand e ir alterando o seu yaw em uma runnable Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Abril 17, 2018 Autor Denunciar Compartilhar Postado Abril 17, 2018 Então, oque eu te disse faz exatamente exatamente isso, só você criar o armorstand e ir alterando o seu yaw em uma runnable Poderia me dizer como posso fazer, da um exemplo ? Link para o comentário Compartilhar em outros sites More sharing options...
0 zDubsCrazy2 Postado Abril 17, 2018 Denunciar Compartilhar Postado Abril 17, 2018 (editado) Cara pra isso você vai ter que mover a posição da cabeça no ArmorStand, existe metódo pra isso. Você terá que alterar o eixo Y do EulerAngle. Fiz um teste: ArmorStand as = p.getWorld().spawn(p.getLocation(), ArmorStand.class); // spawna a ArmorStand as.setHelmet(new ItemStack(Material.SKULL_ITEM, 1, (short) 3)); // coloca uma cabeça nela as.setVisible(false); // coloca pra ela nao ficar visivel new BukkitRunnable() { @Override public void run() { EulerAngle ea = as.getHeadPose(); // obtem a posição atual as.setHeadPose(ea.subtract(0, 0.25, 0)); // define a posiçao da cabeça e tira 0.25 do Y } }.runTaskTimer(this, 1L, 1L); // repetindo a cada 1tick, ficou um efeito de rotação até rapido, voce pode ajustar isso Editado Abril 17, 2018 por zDubsCrazy2 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Abril 17, 2018 Autor Denunciar Compartilhar Postado Abril 17, 2018 Cara pra isso você vai ter que mover a posição da cabeça no ArmorStand, existe metódo pra isso. Você terá que alterar o eixo Y do EulerAngle. Fiz um teste: ArmorStand as = p.getWorld().spawn(p.getLocation(), ArmorStand.class); // spawna a ArmorStand as.setHelmet(new ItemStack(Material.SKULL_ITEM, 1, (short) 3)); // coloca uma cabeça nela as.setVisible(false); // coloca pra ela nao ficar visivel new BukkitRunnable() { @Override public void run() { EulerAngle ea = as.getHeadPose(); // obtem a posição atual as.setHeadPose(ea.subtract(0, 0.25, 0)); // define a posiçao da cabeça e tira 0.25 do Y } }.runTaskTimer(this, 1L, 1L); // repetindo a cada 1tick, ficou um efeito de rotação até rapido, voce pode ajustar isso Está girando mais não com uma bela suavidade ele fica dando umas travada no giro, e se eu botar 1 segundo pra girar vai girar muito rápido Link para o comentário Compartilhar em outros sites More sharing options...
0 zDubsCrazy2 Postado Abril 17, 2018 Denunciar Compartilhar Postado Abril 17, 2018 Está girando mais não com uma bela suavidade ele fica dando umas travada no giro, e se eu botar 1 segundo pra girar vai girar muito rápido Aí é com você meu amigo, a lógica está feita. Tenta subtrair menos a cada tick e vai ajustando o tempo de repetição. Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Abril 17, 2018 Autor Denunciar Compartilhar Postado Abril 17, 2018 Aí é com você meu amigo, a lógica está feita. Tenta subtrair menos a cada tick e vai ajustando o tempo de repetição. Consegui, como queria, mais assim que deslogo e entro no server ele está parado não gira Link para o comentário Compartilhar em outros sites More sharing options...
0 KickPost Postado Abril 21, 2018 Denunciar Compartilhar Postado Abril 21, 2018 Consegui, como queria, mais assim que deslogo e entro no server ele está parado não gira Poderia enviar o código? Obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Abril 21, 2018 Autor Denunciar Compartilhar Postado Abril 21, 2018 Poderia enviar o código? Obrigado. ArmorStand as = p.getWorld().spawn(p.getLocation(), ArmorStand.class); // spawna a ArmorStand as.setHelmet(new ItemStack(Material.SKULL_ITEM, 1, (short) 3)); // coloca uma cabeça nela as.setVisible(false); // coloca pra ela nao ficar visivel new BukkitRunnable() { @Override public void run() { EulerAngle ea = as.getHeadPose(); // obtem a posição atual as.setHeadPose(ea.subtract(0, 0.25, 0)); // define a posiçao da cabeça e tira 0.25 do Y } }.runTaskTimer(this, 1L, 1L); Link para o comentário Compartilhar em outros sites More sharing options...
0 Frogguer Postado Abril 22, 2018 Autor Denunciar Compartilhar Postado Abril 22, 2018 Frogger, isso executa quando você faz um comando? Se sim, tenta por o runnable no onEnable(), e vê se você salva a location em uma config e dps da getLocation la na config ou assim porque senao dps o pl não sabe a location quando reiniciar nem quando o player relogar (isso é o que deve tar acontecendo com voce) Entendi, vlw Link para o comentário Compartilhar em outros sites More sharing options...
0 Wolf_131 Postado Abril 22, 2018 Denunciar Compartilhar Postado Abril 22, 2018 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
Frogguer
Como o nome do topico mesmo já diz
uma head que fique girando 360º em cima de um bloco
Link para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados