Ir para conteúdo
  • 0

Impedir que uma TNT acenda outra


RUSHyoutuber

Pergunta

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

Não sei se vai funcionar, mas você pode tentar:

  1. Cancelar a explosão da TNT;
  2. Gerar uma explosão falsa via packet e enviar para os jogadores próximos, junto com o som;
  3. 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

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

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

Não sei se vai funcionar, mas você pode tentar:

  1. Cancelar a explosão da TNT;
  2. Gerar uma explosão falsa via packet e enviar para os jogadores próximos, junto com o som;
  3. 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

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

Não sei se vai funcionar, mas você pode tentar:

  1. Cancelar a explosão da TNT;
  2. Gerar uma explosão falsa via packet e enviar para os jogadores próximos, junto com o som;
  3. 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

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