Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem]Cloud not pass event PlayerDeathEvent to ...


Rekomendowane odpowiedzi

Opublikowano

Witam ostatnio bawię się w robienie pluginów i zrobiłem mały plugin, który daje kasę za zabicie kogoś.Jednak mam mały problem otóż działa, ale wywala błędy w konsoli, które potrafią niezły śmietnik zrobić.
Oto logi:

Could not pass event PlayerDeathEvent to PVPMoney v1.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 org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at org.bukkit.craftbukkit.v1_4_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:332)
at net.minecraft.server.v1_4_R1.EntityPlayer.die(EntityPlayer.java:256)
at net.minecraft.server.v1_4_R1.EntityLiving.damageEntity(EntityLiving.java:758)
at net.minecraft.server.v1_4_R1.EntityHuman.damageEntity(EntityHuman.java:616)
at net.minecraft.server.v1_4_R1.EntityPlayer.damageEntity(EntityPlayer.java:309)
at net.minecraft.server.v1_4_R1.EntityLiving.a(EntityLiving.java:957)
at net.minecraft.server.v1_4_R1.EntityHuman.a(EntityHuman.java:1217)
at net.minecraft.server.v1_4_R1.Entity.a(Entity.java:778)
at net.minecraft.server.v1_4_R1.EntityLiving.a(EntityLiving.java:237)
at net.minecraft.server.v1_4_R1.EntityPlayer.b(EntityPlayer.java:413)
at net.minecraft.server.v1_4_R1.PlayerConnection.a(PlayerConnection.java:428)
at net.minecraft.server.v1_4_R1.Packet10Flying.handle(SourceFile:136)
at net.minecraft.server.v1_4_R1.NetworkManager.b(NetworkManager.java:290)
at net.minecraft.server.v1_4_R1.PlayerConnection.d(PlayerConnection.java:113)
at net.minecraft.server.v1_4_R1.ServerConnection.b(SourceFile:39)
at net.minecraft.server.v1_4_R1.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_4_R1.MinecraftServer.r(MinecraftServer.java:598)
at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:224)
at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494)
at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.NullPointerException
at heavycraft.pl.PvpMoney$PvpListener.onPlayerDeath(PvpMoney.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
... 24 more

A to kod pluginu:
package heavycraft.pl;

import java.util.logging.Logger;

import net.milkbowl.vault.economy.Economy;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;

public class PvpMoney extends JavaPlugin implements Listener
{
private static final Logger log = Logger.getLogger("Minecraft");
public static Economy econ = null;
@Override
public void onEnable()
{
setupEconomy();
getServer().getPluginManager().registerEvents(new PvpListener(), this);
loadConfiguration();
}
@Override
public void onDisable()
{
}
public void loadConfiguration()
{
//See "Creating you're defaults"
this.getConfig().options().copyDefaults(true); // NOTE: You do not have to use "plugin." if the class extends the java plugin
//Save the config whenever you manipulate it
this.saveConfig();
}
private boolean setupEconomy()
{
if (getServer().getPluginManager().getPlugin("Vault") == null)
{
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null)
{
return false;
}

econ = rsp.getProvider();
return econ != null;
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if(cmd.getName().equalsIgnoreCase("pvpmoney"))
{
this.reloadConfig();
sender.sendMessage(ChatColor.AQUA + "Plugin przeladowany pomyslnie");
log.info("[PVPMONEY] Plugin reload !");
return true;
}
return false;
}
public class PvpListener implements Listener
{
@EventHandler
public void onPlayerDeath (PlayerDeathEvent event)
{
double amount = getConfig().getDouble("amount");
Player ofiara = event.getEntity();
Player killer = ofiara.getKiller();
String Nkiller = killer.getName();
econ.depositPlayer(Nkiller, amount);
killer.sendMessage(ChatColor.AQUA + "Wygrales walke!" + " Dostajesz za to " + amount + "$");
}
}
}

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...