Ir para conteúdo
  • 0

Como criar permissão para eventos?


tudoBom

Pergunta

Oii gente tudo bem ?


Estou começando na criação de plugins e estou totalmente perdido em uma parte,


quero saber como eu adiciono uma permissão para um evento sem precisar criar um comando.


 


Estou fazendo um plugin que quando o player morre, caso ele tenha a permissão, execute um som..


Por exemplo, se o player morrer e tiver a permissão "morte.1" ele executa o som de enderman toda vez que morrer


Mas eu não consigo adicionar permissão sem precisar criar um comando para isso.. alguém pode me ajudar??


 


Código que eu estou usando (Ja adianto que está completamente maluco, pois estava fazendo os testes nele)


 


https://pastebin.com/ZcAfxJ1u


 


Quem puder me ajudar a arrumar isso por favor.. Obrigado.


 


Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

É fácil, você só precisa pegar o objeto do jogador e verificar pela função hasPermission() se ele tem a permissão desejada, a função retornará uma booleana e você poderá fazer a verificação.

 

 

public void onPlayerDeath(PlayerDeathEvent e) {
// verificamos se a entidade é um player
if (e.getEntity() instanceof Player){
Player p = e.getEntity();
 
if (p.hasPermission("morte.1")) {
// você aplica o som
}
}
}

 

É basicamente isso. *Obs.:* não estou conseguindo abrir o Pastebin, por isso não consigo ver o que você fez de errado.

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

É fácil, você só precisa pegar o objeto do jogador e verificar pela função hasPermission() se ele tem a permissão desejada, a função retornará uma booleana e você poderá fazer a verificação.

 

 

public void onPlayerDeath(PlayerDeathEvent e) {
// verificamos se a entidade é um player
if (e.getEntity() instanceof Player){
Player p = e.getEntity();
 
if (p.hasPermission("morte.1")) {
// você aplica o som
}
}
}
 

É basicamente isso. *Obs.:* não estou conseguindo abrir o Pastebin, por isso não consigo ver o que você fez de errado.

 

Obg deu certo, mas agora estou com outra dúvida,

Aparentemente, toda vez que mato um player também faz o som.. e não apenas quando eu morro.. Como eu mudo isso??

 

Código:

 

@EventHandler

public void FazerSom(EntityDeathEvent e) {

 

if (e.getEntity() instanceof Player){

Player p = (Player) e.getEntity();

 

if(p.hasPermission("morte.1")) {

e.getEntity().getWorld().playSound(e.getEntity().getLocation(),

Sound.ANVIL_LAND, 1, 1);

}

}

 

}

 

 

 

 

@EDIT

Ps: Como colocou o código com as cores? Sorry, mtas duvidas kk

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

Obg deu certo, mas agora estou com outra dúvida,

Aparentemente, toda vez que mato um player também faz o som.. e não apenas quando eu morro.. Como eu mudo isso??

 

Código:

 

@EventHandler

public void FazerSom(EntityDeathEvent e) {

 

if (e.getEntity() instanceof Player){

Player p = (Player) e.getEntity();

 

if(p.hasPermission("morte.1")) {

e.getEntity().getWorld().playSound(e.getEntity().getLocation(),

Sound.ANVIL_LAND, 1, 1);

}

}

 

}

 

 

 

 

@EDIT

Ps: Como colocou o código com as cores? Sorry, mtas duvidas kk

 

Colori o código apenas usando a tag [.code]

 

Acho que para resolver o problema do som você deve instanciar o objeto do jogador como e.getEntity().getPlayer()

Link para o comentário
Compartilhar em outros sites

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