Ir para conteúdo
  • 0

[Resolvido] Erro² segundo erro do pl.


Guest » MickCraft » xKizame »

Pergunta

Guest » MickCraft » xKizame »

Gostaria de saber porque esse erro se encontra logo no plugin que não tem nada haver com chat.

 

Tentando falar no global com o plugin ligado.

621ygWN.png

 

Falando no chat com o plugin desligado.

JRJ05nX.png

 

Ou seja quando desligo o plugin não da erro.

 

Código:

package me.erinaldo.com;

import java.util.Arrays;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerFishEvent;
import org.bukkit.event.player.PlayerFishEvent.State;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.help.HelpTopic;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BookMeta;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
 
public class ItensFIX extends JavaPlugin implements Listener{

	public void onEnable(){
		ConsoleCommandSender b = Bukkit.getConsoleSender();
		saveDefaultConfig();
		b.sendMessage("§3[Sistemas] §bO plugin esta sendo ativado!.");
		b.sendMessage("§3- Plugin feito por §axKizame");
		Bukkit.getServer().getPluginManager().registerEvents(this, this);
	}

	public void onDisable(){
		ConsoleCommandSender b = Bukkit.getConsoleSender();
		b.sendMessage("§3[Sistemas] §cO plugin esta sendo desativado!");
		b.sendMessage("§3- §bPlugin feito por §axKizame.");
	}

	@EventHandler
	public void mensagem(PlayerJoinEvent e){
		final Player p = e.getPlayer();
		Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
                    public void run(){
                        for(String b : getConfig().getStringList("Staff")) {
                            p.sendMessage((b).replaceAll("&","§").replace(">", "»").replace("@player", p.getName()));
                    }
                    
                    }
		}, 140);
	}

	@EventHandler
	public void motd(PlayerJoinEvent e){
		Player p = e.getPlayer();
        for(String b : getConfig().getStringList("Motd")) {
                p.sendMessage((b).replaceAll("&","§").replace(">", "»").replace("@player", p.getName()));
        }
	}

	@EventHandler
	public void onPlayerFishing(PlayerFishEvent e){
		if (e.getState() == State.CAUGHT_FISH && Math.random() < 1.0){
			Player p = e.getPlayer();
			String playerName = e.getPlayer().getName();
			ItemStack spawner = new ItemStack(Material.MOB_SPAWNER);
			ItemMeta spawnerMeta = spawner.getItemMeta();
			spawnerMeta.setDisplayName(getConfig().getString("Nome_pesca").replace("&", "§"));
			spawner.setItemMeta(spawnerMeta);
			
			ItemStack book = new ItemStack (Material.WRITTEN_BOOK);
			BookMeta bm = (BookMeta) book.getItemMeta();
			p.getInventory().addItem(spawner);
			 bm.setPages(Arrays.asList("Parabéns!!              Você recebeu um prêmio: §6Gaiola *BETA*"));
			 bm.setAuthor("§3MickCraft");
			 bm.setTitle("Um tesouro pescado.");
			 book.setItemMeta(bm);
			 p.getInventory().addItem(book);
		      Bukkit.broadcastMessage(getConfig().getString("BroadCast1_pesca").replace("&", "§"));
		      Bukkit.broadcastMessage(getConfig().getString("BroadCast2_pesca").replace("&", "§").replaceAll("@player", p.getName()));
		      Bukkit.broadcastMessage(getConfig().getString("BroadCast3_pesca").replace("&", "§"));
              for(String b : getConfig().getStringList("Mensagens_pesca")) {
                  p.sendMessage((b).replaceAll("&","§").replace(">", "»"));
          }
		      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "money " + playerName + " ");
		      for(String list : getConfig().getStringList("Comandos_pesca")){
		      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@player", p.getName()));
		}
	}
	}
	
	@EventHandler
	public void EntityDeathEvent(EntityDeathEvent e){
		if (Math.random() < 1.0){
			Player p = e.getPlayer();
			String playerName = e.getPlayer().getName();
			ItemStack spawner = new ItemStack(Material.getMaterial(383), 1, (short)61);
			ItemMeta spawnerMeta = spawner.getItemMeta();
			spawnerMeta.setDisplayName(getConfig().getString("Nome_espada").replace("&", "§"));
			spawner.setItemMeta(spawnerMeta);
			
			ItemStack book = new ItemStack (Material.WRITTEN_BOOK);
			BookMeta bm = (BookMeta) book.getItemMeta();
			p.getInventory().addItem(spawner);
			 bm.setPages(Arrays.asList("Parabéns!!              Você recebeu um prêmio: §6Blaze *BETA*"));
			 bm.setAuthor("§3MickCraft");
			 bm.setTitle("Um tesouro conquistado.");
			 book.setItemMeta(bm);
			 p.getInventory().addItem(book);
		      Bukkit.broadcastMessage(getConfig().getString("BroadCast1_espada").replace("&", "§"));
		      Bukkit.broadcastMessage(getConfig().getString("BroadCast2_espada").replace("&", "§").replaceAll("@player", p.getName()));
		      Bukkit.broadcastMessage(getConfig().getString("BroadCast3_espada").replace("&", "§"));
              for(String b : getConfig().getStringList("Mensagens_espada")) {
                  p.sendMessage((b).replaceAll("&","§").replace(">", "»"));
          }
		      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "money " + playerName + " ");
		      for(String list : getConfig().getStringList("Comandos_espada")){
		      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), list.replace("@player", p.getName()));
		}
	}
	}
	
	@EventHandler
    public void onPlayerFishing1(PlayerFishEvent e){
    	e.getHook().setBiteChance(getConfig().getDouble("Chance"));
    }
  
    @EventHandler
    public void onSign(SignChangeEvent e) {
    Player p = e.getPlayer();
       if ((!p.isOp()) && (
           (e.getLine(0).replaceAll("\\&.", "").replaceAll("\\§.", "").replaceAll("\\&.", "").equalsIgnoreCase("Admin Shop")))) {
    	   p.kickPlayer(getConfig().getString("Kick").replace("&", "§"));
               e.getBlock().breakNaturally();
        e.setCancelled(true);
        e.getBlock().breakNaturally();
      }
    }
	
    @EventHandler
    public void ComandoErro(PlayerCommandPreprocessEvent e) {
      if (!e.isCancelled()) {
        String comando = e.getMessage().split(" ")[0];
        HelpTopic a = Bukkit.getServer().getHelpMap().getHelpTopic(comando);
        if (a == null) {
          e.getPlayer().sendMessage(getConfig().getString("Erro").replace("&", "§").replace(">", "»").replace("{comando}", comando));
          e.setCancelled(true);
        }
      }
    }
    
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		if(cmd.getName().equalsIgnoreCase("premios")){
                        for(String b : getConfig().getStringList("Itens")) {
                                sender.sendMessage((b).replaceAll("&","§").replace(">", "»"));
                        }
		}
		return false;
	}
	
	
}

Acrédito eu 

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

No legendchat não existe o /g !

Tipo ele só pega se inicia eu acho.

Então como o comando não existe os seu plugin fala que não tem !!!

Tenta usar assim, Sei la se vai dar certo, eu não testei:

  @EventHandler
  public void ComandoErro(PlayerCommandPreprocessEvent e) {
    for (String commands : getConfig().getStringList("Comandos")) {
      if ((!e.isCancelled()) || (!e.getMessage().startsWith(commands))) {
        String comando = e.getMessage().split(" ")[0];
        HelpTopic a = Bukkit.getServer().getHelpMap().getHelpTopic(comando);
        if (a == null) {
          e.getPlayer().sendMessage(getConfig().getString("Erro").replace("&", "§").replace(">", "»").replace("{comando}", comando));
          e.setCancelled(true);
        }
      }
    }
  }

Ai vc vai na sua config.yml e coloca:

Comandos:
- '/g '
- '/tell '
- '/command3'
- '/command4'
Link para o comentário
Compartilhar em outros sites

	@EventHandler(priority=EventPriority.MONITOR)
	  public void Desconhecido(PlayerCommandPreprocessEvent e){
	    if(!e.isCancelled()){
	      Player p = e.getPlayer();
	      String cmd = e.getMessage().split(" ")[0];
	      HelpTopic topic = Bukkit.getServer().getHelpMap().getHelpTopic(cmd);
	      if(topic == null){
	        p.sendMessage(getConfig().getString("MensagemErro").replace("&", "§").replace("@cmd", cmd));
	        e.setCancelled(true);
	      }
	    }
	  }

Não testei

Link para o comentário
Compartilhar em outros sites

 

No legendchat não existe o /g !

Tipo ele só pega se inicia eu acho.

Então como o comando não existe os seu plugin fala que não tem !!!

Tenta usar assim, Sei la se vai dar certo, eu não testei:

  @EventHandler
  public void ComandoErro(PlayerCommandPreprocessEvent e) {
    for (String commands : getConfig().getStringList("Comandos")) {
      if ((!e.isCancelled()) || (!e.getMessage().startsWith(commands))) {
        String comando = e.getMessage().split(" ")[0];
        HelpTopic a = Bukkit.getServer().getHelpMap().getHelpTopic(comando);
        if (a == null) {
          e.getPlayer().sendMessage(getConfig().getString("Erro").replace("&", "§").replace(">", "»").replace("{comando}", comando));
          e.setCancelled(true);
        }
      }
    }
  }

Ai vc vai na sua config.yml e coloca:

Comandos:
- '/g '
- '/tell '
- '/command3'
- '/command4'

Na realidade, o comando /g do legend não é um comando registrado, ele pega quando você ta dando /g ele faz a função, mesmo o comando existindo ou não..

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

	@EventHandler(priority=EventPriority.MONITOR)
	  public void Desconhecido(PlayerCommandPreprocessEvent e){
	    if(!e.isCancelled()){
	      Player p = e.getPlayer();
	      String cmd = e.getMessage().split(" ")[0];
	      HelpTopic topic = Bukkit.getServer().getHelpMap().getHelpTopic(cmd);
	      if(topic == null){
	        p.sendMessage(getConfig().getString("MensagemErro").replace("&", "§").replace("@cmd", cmd));
	        e.setCancelled(true);
	      }
	    }
	  }

Não testei

 

Cara isso deixa passar o "/g" ?

Porque não vi muita diferença no seu código e no dele!

Link para o comentário
Compartilhar em outros sites

Cara isso deixa passar o "/g" ?

Porque não vi muita diferença no seu código e no dele!

Sim, nesse código aí quando dar o /g ele funciona normalmente, acabei de testar...

Link para o comentário
Compartilhar em outros sites

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