Ir para conteúdo
  • 0

CraftSkill + MCMMO


Skin

Pergunta

Olá estou tentando criar um plugin que o player necessita ter 40 Alquimista para poder craftar certo item não sei onde esta o erro. Obs: "Estou usando a API do MCMMO"

 
package pentazysc;
 
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
 
import com.gmail.nossr50.datatypes.player.PlayerProfile;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.util.player.UserManager;
 
public class Main extends JavaPlugin implements Listener{
 
public void onEnable(){
getServer().getPluginManager().registerEvents(this, this);
getServer().getConsoleSender().sendMessage(ChatColor.YELLOW + "[CraftSkill] Plugin Funcionando 100% - Desenvolvido por PentazyNetwork");
}
public void onDisable(){
 
}
 
@EventHandler
 
public void onCraft(CraftItemEvent event){
 
 
 
 
Player p = null;
 
PlayerProfile profile = UserManager.getPlayer(p).getProfile();
 
 
Material itemType = event.getRecipe().getResult().getType();
       Byte itemData = event.getRecipe().getResult().getData().getData();
       if(itemType==Material.ENCHANTMENT_TABLE) {
        if (profile.getSkillLevel(SkillType.ALCHEMY) < 40) {
           event.getInventory().setResult(new ItemStack(Material.AIR));
           for(HumanEntity he:event.getViewers()) {
               if(he instanceof Player) {
                   ((Player)he).sendMessage(ChatColor.RED+"Você precisa ter 50 de alquimia para poder craftar esse item");
               }
           }
       }
   }
 
 
}
 
}
 

Erro do console:

 
 Could not pass event CraftItemEvent to SkillCraft v1.0
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Bukkit-18fbb24]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1564) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Bukkit-18fbb24]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_101]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_101]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:673) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:629) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit.jar:git-Bukkit-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
Caused by: java.lang.NullPointerException
        at com.gmail.nossr50.util.player.UserManager.getPlayer(UserManager.java:94) ~[?:?]
        at pentazysc.Main.onCraft(Main.java:36) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[craftbukkit.jar:git-Bukkit-18fbb24]
        ... 15 more
 
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

Erro é nesta linha: 

 

PlayerProfile profile = UserManager.getPlayer(p).getProfile();

 

 

vc ta setando player null

 

troca 

 

Player p = null;

 

por Player p = (Player) event.getPlayer(); 

 

se n for assim é algo parecido

Link para o comentário
Compartilhar em outros sites

Erro é nesta linha: 

 

PlayerProfile profile = UserManager.getPlayer(p).getProfile();

 

 

vc ta setando player null

 

troca 

 

Player p = null;

 

por Player p = (Player) event.getPlayer(); 

 

se n for assim é algo parecido

Fiz isso mas só que erro permanece 

 

 

 
Player p = (getPlayer());
 
Link para o comentário
Compartilhar em outros sites

Da esse erro:

 

http://prntscr.com/e1h751

 

Se colocar o event

tem como pegar o nivel do mcmmo sem profile

esse erro é pq vc n tem getPlayer() , se não der tente getWhoClicked(), acho que tb da

 

@edit

Player p = (Player) event.getWhoClicked();
//voce pode pegar o nivel do mcmmo assim
int level = ExperienceAPI.getLevel(p, SkillType.ALCHEMY.name());
Editado por zAth
Link para o comentário
Compartilhar em outros sites

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