Ir para conteúdo
  • 0

[Resolvido] Erro no plugin.


Guest » MickCraft «

Pergunta

Guest » MickCraft «

Oque está fazendo o plugin resetar toda vez que o servidor reinicia?

@EventHandler
  public void onChat(ChatMessageEvent e){
    if ((e.getTags().contains("mito")) && 
      (e.getSender().getName().equals(this.mito))) {
      String tag = getConfig().getString("Mito");
      e.setTagValue("mito", tag.replaceAll("&", "§"));
    }
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    if (cmd.getName().equalsIgnoreCase("mito")){
      if ((sender.hasPermission("mito.ver")) || (sender.isOp()) || 
        ((sender instanceof ConsoleCommandSender))){
        if (this.mito != null) {
          sender.sendMessage(getConfig().getString("Mito_atual").replace("&", "§").replace("@player", this.mito));
          return true;
        }
        sender.sendMessage(getConfig().getString("Sem_mito").replace("&", "§"));
        return true;
      }
      sender.sendMessage(getConfig().getString("Sem_permissao").replace("&", "§"));
      return true;
    }
    if (cmd.getName().equalsIgnoreCase("setarmito")){
      if (!sender.hasPermission("mito.setar")){
        sender.sendMessage(getConfig().getString("Nao_setar").replace("&", "§"));
        return true;
      }
      if (args.length == 0){
        sender.sendMessage(getConfig().getString("Uso_correto").replace("&", "§"));
        return true;
      }
      Player p = Bukkit.getPlayer(args[0]);
      if (p == null){
        sender.sendMessage(getConfig().getString("Jogador_ofline").replace("&", "§"));
        return true;
      }
      this.mito = p.getName();
      sender.sendMessage(getConfig().getString("Setar_mito").replace("&", "§").replace("@player", this.mito));
      p.getWorld().strikeLightningEffect(p.getLocation());
      for (String str:getConfig().getStringList("Mito_novo")) {
          Bukkit.broadcastMessage(str.replace("&", "§").replace("@player", this.mito));
    }
    }
    return false;
  }
  
  @EventHandler
  public void death(PlayerDeathEvent e){
    Player p = e.getEntity();
    Player killer = e.getEntity().getKiller();
    Player dead = e.getEntity();
    if (((killer instanceof Player)) && (dead.getName().equals(this.mito))){
      this.mito = killer.getName();
      p.getWorld().strikeLightningEffect(p.getLocation());
      if (getConfig().getBoolean("Mito_ativar")){
          for (String str:getConfig().getStringList("Mito_novo")) {
              Bukkit.broadcastMessage(str.replace("&", "§").replace("@player",  killer.getName()));
          }
      }
    }
  }
}

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

"

  public final Logger log = Logger.getLogger("Minecraft");
  public static Main Plugin;
  String mito = null; 

"

Você esta armazenando o mito, em uma String é isso?

Por que se for, já esta explicando.

String,Array,HashMap etc..

Quando o server reinicia o plugin, os dados do plugin (String,Array...), são limpos.

Armazene o mito na config, e na inicialização do plugin (onEnable()), pegue ele.

Ex:

 

String mito = null;

public void onEnable(){
if(getConfig().getString("Mito_Atual") != null){
mito = getConfig().getString("Mito_Atual");
}
}

Assim, toda vez que o server iniciar o plugin, ele vai ler esse código e vai adicionar o mito a sua variável "mito".

 

Resolvido?

Link para o comentário
Compartilhar em outros sites

Guest » MickCraft «

Ta salvando o mito onde?

 

Se for em arraylist ou hasmap mano... pqp '-'

"

  public final Logger log = Logger.getLogger("Minecraft");
  public static Main Plugin;
  String mito = null; 

"

Link para o comentário
Compartilhar em outros sites

Guest » MickCraft «

Você esta armazenando o mito, em uma String é isso?

Por que se for, já esta explicando.

String,Array,HashMap etc..

Quando o server reinicia o plugin, os dados do plugin (String,Array...), são limpos.

Armazene o mito na config, e na inicialização do plugin (onEnable()), pegue ele.

Ex:

 

String mito = null;

public void onEnable(){
if(getConfig().getString("Mito_Atual") != null){
mito = getConfig().getString("Mito_Atual");
}
}

Assim, toda vez que o server iniciar o plugin, ele vai ler esse código e vai adicionar o mito a sua variável "mito".

 

Resolvido?

So mais uma coisa como eu faço para dar comandos ao velho mito e ao novo mito?

Tipo antes eu tinha conseguido porem os comandos bugava dava mais de 1 vez.

Olha se tem algo errado por favor.

  @EventHandler
  public void death(PlayerDeathEvent e){
    Player p = e.getEntity();
    Player killer = e.getEntity().getKiller();
    Player dead = e.getEntity();
    if (((killer instanceof Player)) && (dead.getName().equals(this.mito))){
      this.mito = killer.getName();
      p.getWorld().strikeLightningEffect(p.getLocation());
      if (getConfig().getBoolean("Mito_ativar")){
          for (String str:getConfig().getStringList("Mito_novo")) {
              Bukkit.broadcastMessage(str.replace("&", "§").replace("@player",  killer.getName()));
          for(String list : getConfig().getStringList("Comandos")){
              Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@vencedor",  this.mito));
              Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@perdedor",  dead.getName()));
          }
          }
      }
    }
  }

  @EventHandler
  public void onChat(ChatMessageEvent e){
    if ((e.getTags().contains("mito")) && 
      (e.getSender().getName().equals(this.mito))) {
      String tag = getConfig().getString("Mito");
      e.setTagValue("mito", tag.replaceAll("&", "§"));
    }
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    if (cmd.getName().equalsIgnoreCase("mito")){
      if ((sender.hasPermission("mito.ver")) || (sender.isOp()) || 
        ((sender instanceof ConsoleCommandSender))){
        if (this.mito != null) {
          sender.sendMessage(getConfig().getString("Mito_atual").replace("&", "§").replace("@player", this.mito));
          return true;
        }
        sender.sendMessage(getConfig().getString("Sem_mito").replace("&", "§"));
        return true;
      }
      sender.sendMessage(getConfig().getString("Sem_permissao").replace("&", "§"));
      return true;
    }
    if (cmd.getName().equalsIgnoreCase("setarmito")){
      if (!sender.hasPermission("mito.setar")){
        sender.sendMessage(getConfig().getString("Nao_setar").replace("&", "§"));
        return true;
      }
      if (args.length == 0){
        sender.sendMessage(getConfig().getString("Uso_correto").replace("&", "§"));
        return true;
      }
      Player p = Bukkit.getPlayer(args[0]);
      if (p == null){
        sender.sendMessage(getConfig().getString("Jogador_ofline").replace("&", "§"));
        return true;
      }
      this.mito = p.getName();
		Player killer = e.getEntity().getKiller();
	    Player dead = e.getEntity();
	    if (((killer instanceof Player)) && (dead.getName().equals(this.mito))){
	      this.mito = killer.getName();
      sender.sendMessage(getConfig().getString("Setar_mito").replace("&", "§").replace("@player", this.mito));
      p.getWorld().strikeLightningEffect(p.getLocation());
      for (String str:getConfig().getStringList("Mito_novo")) {
          Bukkit.broadcastMessage(str.replace("&", "§").replace("@player", this.mito));
          for(String list : getConfig().getStringList("Comandos")){
              Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@vencedor",  this.mito));
              Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@perdedor",  dead.getName()));
          }
      }
	    }
    }
    return false;
  }
Editado por » MickCraft «
Link para o comentário
Compartilhar em outros sites

Guest RyanSw4g

 

So mais uma coisa como eu faço para dar comandos ao velho mito e ao novo mito?

Tipo antes eu tinha conseguido porem os comandos bugava dava mais de 1 vez.

Olha se tem algo errado por favor.

  @EventHandler
  public void death(PlayerDeathEvent e){
    Player p = e.getEntity();
    Player killer = e.getEntity().getKiller();
    Player dead = e.getEntity();
    if (((killer instanceof Player)) && (dead.getName().equals(this.mito))){
      this.mito = killer.getName();
      p.getWorld().strikeLightningEffect(p.getLocation());
      if (getConfig().getBoolean("Mito_ativar")){
          for (String str:getConfig().getStringList("Mito_novo")) {
              Bukkit.broadcastMessage(str.replace("&", "§").replace("@player",  killer.getName()));
          }
          for(String list : getConfig().getStringList("Comandos1")){
              Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@player",  this.mito));
              }
          for(String list : getConfig().getStringList("Comandos2")){
              Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@player",  dead.getName()));
              }
      }
    }
  }

 

Uai, tu fez um plugin de Gladiador ou só a config.yml -.-' ?

Link para o comentário
Compartilhar em outros sites

Guest » MickCraft «

Uai, tu fez um plugin de Gladiador ou só a config.yml -.-' ?

Mais o plugin de gladiador eu fiz com outros dev, ou seja os erros eles que faziam uê ;-; e porque eu iria fazer apenas uma config '-'

Link para o comentário
Compartilhar em outros sites

Guest RyanSw4g

Mais o plugin de gladiador eu fiz com outros dev, ou seja os erros eles que faziam uê ;-; e porque eu iria fazer apenas uma config '-'

Porque tu é o Sr.Games 

Link para o comentário
Compartilhar em outros sites

Lá vem outro falar as mesmas coisa de sempre '-'

Tenta assim:

 

@EventHandler
public void death(PlayerDeathEvent e){
Player p = e.getEntity();
Player killer = e.getEntity().getKiller();
Player dead = e.getEntity();
if (((killer instanceof Player)) && (dead.getName().equals(this.mito))){
this.mito = killer.getName();
p.getWorld().strikeLightningEffect(p.getLocation());
if (getConfig().getBoolean("Mito_ativar")){
for (String str:getConfig().getStringList("Mito_novo")) {
Bukkit.broadcastMessage(str.replace("&", "§").replace("@player",  killer.getName()));
}
for(String list : getConfig().getStringList("Comandos_Novo_Mito")){
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@vencedor",  this.mito));
}
for(String list : getConfig().getStringList("Comandos_Antigo_Mito")){
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@perdedor",  dead.getName()));
}
}
}
}
Link para o comentário
Compartilhar em outros sites

Guest » MickCraft «

 

Tenta assim:

 

@EventHandler
public void death(PlayerDeathEvent e){
Player p = e.getEntity();
Player killer = e.getEntity().getKiller();
Player dead = e.getEntity();
if (((killer instanceof Player)) && (dead.getName().equals(this.mito))){
this.mito = killer.getName();
p.getWorld().strikeLightningEffect(p.getLocation());
if (getConfig().getBoolean("Mito_ativar")){
for (String str:getConfig().getStringList("Mito_novo")) {
Bukkit.broadcastMessage(str.replace("&", "§").replace("@player",  killer.getName()));
}
for(String list : getConfig().getStringList("Comandos_Novo_Mito")){
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@vencedor",  this.mito));
}
for(String list : getConfig().getStringList("Comandos_Antigo_Mito")){
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@perdedor",  dead.getName()));
}
}
}
}

E neste qual também e preciso para quando setar o novo mito ele dar comando no novo e dar comando no antigo.

  @EventHandler
  public void onChat(ChatMessageEvent e){
    if ((e.getTags().contains("mito")) && 
      (e.getSender().getName().equals(this.mito))) {
      String tag = getConfig().getString("Mito");
      e.setTagValue("mito", tag.replaceAll("&", "§"));
    }
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    if (cmd.getName().equalsIgnoreCase("mito")){
      if ((sender.hasPermission("mito.ver")) || (sender.isOp()) || 
        ((sender instanceof ConsoleCommandSender))){
        if (this.mito != null) {
          sender.sendMessage(getConfig().getString("Mito_servidor").replace("&", "§").replace("@player", this.mito));
          return true;
        }
        sender.sendMessage(getConfig().getString("Sem_mito").replace("&", "§"));
        return true;
      }
      sender.sendMessage(getConfig().getString("Sem_permissao").replace("&", "§"));
      return true;
    }
    if (cmd.getName().equalsIgnoreCase("setarmito")){
      if (!sender.hasPermission("mito.setar")){
        sender.sendMessage(getConfig().getString("Nao_setar").replace("&", "§"));
        return true;
      }
      if (args.length == 0){
        sender.sendMessage(getConfig().getString("Uso_correto").replace("&", "§"));
        return true;
      }
      Player p = Bukkit.getPlayer(args[0]);
      if (p == null){
        sender.sendMessage(getConfig().getString("Jogador_ofline").replace("&", "§"));
        return true;
      }
      this.mito = p.getName();
      sender.sendMessage(getConfig().getString("Setar_mito").replace("&", "§").replace("@player", this.mito));
      p.getWorld().strikeLightningEffect(p.getLocation());
      for (String str:getConfig().getStringList("Mito_novo")) {
          Bukkit.broadcastMessage(str.replace("&", "§").replace("@player", this.mito));
          }
      }
    return false;
  }
Link para o comentário
Compartilhar em outros sites

 

E neste qual também e preciso para quando setar o novo mito ele dar comando no novo e dar comando no antigo.

  @EventHandler
  public void onChat(ChatMessageEvent e){
    if ((e.getTags().contains("mito")) && 
      (e.getSender().getName().equals(this.mito))) {
      String tag = getConfig().getString("Mito");
      e.setTagValue("mito", tag.replaceAll("&", "§"));
    }
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    if (cmd.getName().equalsIgnoreCase("mito")){
      if ((sender.hasPermission("mito.ver")) || (sender.isOp()) || 
        ((sender instanceof ConsoleCommandSender))){
        if (this.mito != null) {
          sender.sendMessage(getConfig().getString("Mito_servidor").replace("&", "§").replace("@player", this.mito));
          return true;
        }
        sender.sendMessage(getConfig().getString("Sem_mito").replace("&", "§"));
        return true;
      }
      sender.sendMessage(getConfig().getString("Sem_permissao").replace("&", "§"));
      return true;
    }
    if (cmd.getName().equalsIgnoreCase("setarmito")){
      if (!sender.hasPermission("mito.setar")){
        sender.sendMessage(getConfig().getString("Nao_setar").replace("&", "§"));
        return true;
      }
      if (args.length == 0){
        sender.sendMessage(getConfig().getString("Uso_correto").replace("&", "§"));
        return true;
      }
      Player p = Bukkit.getPlayer(args[0]);
      if (p == null){
        sender.sendMessage(getConfig().getString("Jogador_ofline").replace("&", "§"));
        return true;
      }
      this.mito = p.getName();
      sender.sendMessage(getConfig().getString("Setar_mito").replace("&", "§").replace("@player", this.mito));
      p.getWorld().strikeLightningEffect(p.getLocation());
      for (String str:getConfig().getStringList("Mito_novo")) {
          Bukkit.broadcastMessage(str.replace("&", "§").replace("@player", this.mito));
          }
      }
    return false;
  }

Tenta assim: (Não sei se ta certo... Mais é a mesma coisa que eu fiz no evento.)

  if (cmd.getName().equalsIgnoreCase("setarmito")){
      if (!sender.hasPermission("mito.setar")){
        sender.sendMessage(getConfig().getString("Nao_setar").replace("&", "§"));
        return true;
      }
      if (args.length == 0){
        sender.sendMessage(getConfig().getString("Uso_correto").replace("&", "§"));
        return true;
      }
      Player p = Bukkit.getPlayer(args[0]);
      if (p == null){
        sender.sendMessage(getConfig().getString("Jogador_ofline").replace("&", "§"));
        return true;
      }
	  //Vale lembrar que se voce so setar a variavel mito, dps do reload ele some.
      this.mito = p.getName();
      sender.sendMessage(getConfig().getString("Setar_mito").replace("&", "§").replace("@player", this.mito));
	  for(String a : getConfig().getStringList("Comandos_Novo_Mito")){
		Bukkit.dispatchCommand(CommandSender, a.replace("@mito",p.getName()));
	  }
	  String mito_antigo = getConfig().getString("Mito");
	  for(String b : getConfig().getStringList("Comandos_Mito_Velho")){
		Bukkit.dispatchCommand(CommandSender, b.replace("@mitoVelho",mito_antigo));
	  }
      p.getWorld().strikeLightningEffect(p.getLocation());
      for (String str:getConfig().getStringList("Mito_novo")) {
          Bukkit.broadcastMessage(str.replace("&", "§").replace("@player", this.mito));
          }
      }
Link para o comentário
Compartilhar em outros sites

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