Ir para conteúdo
  • 0

[Resolvido] Erro [dúvida]


Guest » MickCraft «

Pergunta

Guest » MickCraft «

Erro

2015-06-30 18:08:34 [SEVERE] Could not pass event PlayerInteractEvent to SrMito v2.0
org.bukkit.event.EventException
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
	at us.Myles.PWP.FakePluginManager.fireEvent(FakePluginManager.java:102)
	at us.Myles.PWP.FakePluginManager.callEvent(FakePluginManager.java:88)
	at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190)
	at net.minecraft.server.v1_5_R3.PlayerInteractManager.interact(PlayerInteractManager.java:370)
	at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:637)
	at net.minecraft.server.v1_5_R3.Packet15Place.handle(SourceFile:58)
	at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292)
	at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:115)
	at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35)
	at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:30)
	at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:581)
	at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226)
	at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)
	at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)
	at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.IllegalArgumentException: Plugin cannot be null
	at org.apache.commons.lang.Validate.notNull(Validate.java:203)
	at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.validate(CraftScheduler.java:391)
	at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:120)
	at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.scheduleSyncRepeatingTask(CraftScheduler.java:116)
	at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.scheduleSyncDelayedTask(CraftScheduler.java:100)
	at me.erinaldo.com.Main.PlacaInteract(Main.java:110)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
	... 16 more

Código:

	@EventHandler	
	public void PlacaInteract(final PlayerInteractEvent e){		
		final Player p = e.getPlayer();
		if (!(e.getAction() == Action.RIGHT_CLICK_BLOCK)) return;
        Bukkit.getScheduler().scheduleSyncDelayedTask(Main.Plugin, new Runnable() {
            public void run() {
      if (e.getClickedBlock().getState() instanceof Sign){
              Sign s = (Sign) e.getClickedBlock().getState();
              if (s.getLine(0).equalsIgnoreCase("§5[Mito]")){         	  
                    	  p.sendMessage("§bteste");
              }
      }
            }
        }, 10);
	}

Obs: Eu já coloquei de vários jeitos e tals mais não aparece a mensagem depois dos segundos '-'

O certo seria quando o jogador clicar na placa quando der uns segundos aparece a mensagem.. porem não aparece nada ''-''

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

Coloca isso la no topo do codigo: public static Main pl;

 

Depois substitua isso Bukkit.getScheduler().scheduleSyncDelayedTask(Main.Plugin, new Runnable() { por isso:

Bukkit.getScheduler().scheduleSyncDelayedTask(pl, new Runnable() {

 

 

Testa e poste os resultados '-='

Link para o comentário
Compartilhar em outros sites

Faça o que o Foxxx disse, e no onEnable() poe isso pl = this.

Assim:
 

public static Main pl;

public void onEnable(){
pl = this;
}

Ai, quando for pegar algo da main, só usar assim:
Main.pl

 

Porém, é melhor fazer um public static na classe que tu vai usar muito o pl do main, e só usar o static que tu crio na classe.
Ex:

 

//Ja add o pl na main.

public class metodos {

public static Main pl = Main.pl;

public static void getStringInConfig(String a){
for(Player p : Bukkit.getOnlinePlayers()){
p.sendMessage(pl.getConfig().getString(a).replace("&","§"));
}
}

}

Bem mais fácil.

Link para o comentário
Compartilhar em outros sites

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