RUSHyoutuber Postado Fevereiro 13, 2018 Denunciar Compartilhar Postado Fevereiro 13, 2018 Bom pessoal já estou a mais de 4 horas tentando fazer isso e não consegui então decidi vir pedir ajuda pra vocês... A pedido de uma pessoa no skype eu estava tentando criar 1 plugin que cancele a ignição de uma tnt por outra tnt? Não entendeu? Eu queria que quando 1 tnt explodisse ela não acendesse as outras TNTs perto. Eu já tentei fazer de tudo que vocês podem imaginar e não funcionou....... Se alguem ai sabe como fazer isso por favor me ajude. @EDIT testei no paper-spigot.1.8.8 Códigos que eu já tentei e não funcionaram: https://ghostbin.com/paste/mk73c Link para o comentário Compartilhar em outros sites More sharing options...
AlexHackers Postado Fevereiro 13, 2018 Denunciar Compartilhar Postado Fevereiro 13, 2018 Não sei se vai funcionar, mas você pode tentar: Cancelar a explosão da TNT; Gerar uma explosão falsa via packet e enviar para os jogadores próximos, junto com o som; Aplicar o dano nas entidades próximas. É uma gambiarra? É. Mas deve solucionar seu problema. @EDIT Nem todo mundo sabe usar packets, então isso pode ser útil: https://github.com/MassiveCraft/MassiveCore/blob/e0b79d504dbf74c8af9fcc1db7c9fd254b05f40c/src/com/massivecraft/mcore1/util/SmokeUtil.java pra q tudo isso CÓDIGO: @EventHandler public void teste(EntityExplodeEvent e) { if(e.getEntity().getType() == EntityType.PRIMED_TNT){ for (Block b : e.blockList()) { if (b.getType() == Material.TNT) { e.blockList().remove(b); } } } } resolvido Link para o comentário Compartilhar em outros sites More sharing options...
AnonyDEV Postado Fevereiro 13, 2018 Denunciar Compartilhar Postado Fevereiro 13, 2018 Salve Salve :sem falas: Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Fevereiro 13, 2018 Denunciar Compartilhar Postado Fevereiro 13, 2018 Tenta assim: usa BlockIgniteEvent, checa se o block é uma tnt e se o getCause é igual a BlockIgniteEvent.IgniteCause.EXPLOSION acho que também deve dar pra fazer checando se o getIgnitingBlock() é do tipo tnt https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/BlockIgniteEvent.html Link para o comentário Compartilhar em outros sites More sharing options...
RUSHyoutuber Postado Fevereiro 13, 2018 Autor Denunciar Compartilhar Postado Fevereiro 13, 2018 Tenta assim: usa BlockIgniteEvent, checa se o block é uma tnt e se o getCause é igual a BlockIgniteEvent.IgniteCause.EXPLOSION acho que também deve dar pra fazer checando se o getIgnitingBlock() é do tipo tnt https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/BlockIgniteEvent.html https://hastebin.com/dufepeguze.java https://hastebin.com/juzesexiji.java não funcionou... Link para o comentário Compartilhar em outros sites More sharing options...
John404 Postado Fevereiro 13, 2018 Denunciar Compartilhar Postado Fevereiro 13, 2018 Tente não usar o == , utilize o .equals() talvez seja isso , já deu muito erro com isso nos meus projetos Link para o comentário Compartilhar em outros sites More sharing options...
RUSHyoutuber Postado Fevereiro 13, 2018 Autor Denunciar Compartilhar Postado Fevereiro 13, 2018 Acabei de substituir == por .equals e mesmo assim não funcionou.... minha ideia usar o evento EntityExplodeEvent e cancelar a explosão para a TNT... não faço a menor ideia de como faz isso Link para o comentário Compartilhar em outros sites More sharing options...
Marcosen Postado Fevereiro 13, 2018 Denunciar Compartilhar Postado Fevereiro 13, 2018 (editado) Não sei se vai funcionar, mas você pode tentar: Cancelar a explosão da TNT; Gerar uma explosão falsa via packet e enviar para os jogadores próximos, junto com o som; Aplicar o dano nas entidades próximas. É uma gambiarra? É. Mas deve solucionar seu problema.@EDITNem todo mundo sabe usar packets, então isso pode ser útil:https://github.com/MassiveCraft/MassiveCore/blob/e0b79d504dbf74c8af9fcc1db7c9fd254b05f40c/src/com/massivecraft/mcore1/util/SmokeUtil.java Editado Fevereiro 13, 2018 por Marcosen 1 Link para o comentário Compartilhar em outros sites More sharing options...
RUSHyoutuber Postado Fevereiro 13, 2018 Autor Denunciar Compartilhar Postado Fevereiro 13, 2018 Não sei se vai funcionar, mas você pode tentar: Cancelar a explosão da TNT; Gerar uma explosão falsa via packet e enviar para os jogadores próximos, junto com o som; Aplicar o dano nas entidades próximas. É uma gambiarra? É. Mas deve solucionar seu problema. @EDIT Nem todo mundo sabe usar packets, então isso pode ser útil: https://github.com/MassiveCraft/MassiveCore/blob/e0b79d504dbf74c8af9fcc1db7c9fd254b05f40c/src/com/massivecraft/mcore1/util/SmokeUtil.java Vou dar uma estudada... não era bem isso que eu queria mas acho que da pra fazer umas coisas legais com isso. Link para o comentário Compartilhar em outros sites More sharing options...
gmoehra Postado Fevereiro 13, 2018 Denunciar Compartilhar Postado Fevereiro 13, 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
RUSHyoutuber
Bom pessoal já estou a mais de 4 horas tentando fazer isso e não consegui então decidi vir pedir ajuda pra vocês...
A pedido de uma pessoa no skype eu estava tentando criar 1 plugin que cancele a ignição de uma tnt por outra tnt?
Não entendeu? Eu queria que quando 1 tnt explodisse ela não acendesse as outras TNTs perto.
Eu já tentei fazer de tudo que vocês podem imaginar e não funcionou....... Se alguem ai sabe como fazer isso por favor me ajude.
@EDIT
testei no paper-spigot.1.8.8
Códigos que eu já tentei e não funcionaram: https://ghostbin.com/paste/mk73c
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados