Solved check pvp bug worldguard

Discussion in 'Plugin Development' started by lolgrapig112, Apr 12, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    lolgrapig112

    Hey,

    I am trying to check for pvp, but evrytime I swing my sword I get this error:

    Code:
    2013-04-12 12:08:31 [SEVERE] Could not pass event PlayerInteractEvent to PFPS v0.1-FirstBuild
    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_5_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:181)
        at org.bukkit.craftbukkit.v1_5_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:151)
        at net.minecraft.server.v1_5_R2.PlayerConnection.a(PlayerConnection.java:1005)
        at net.minecraft.server.v1_5_R2.Packet18ArmAnimation.handle(SourceFile:41)
        at net.minecraft.server.v1_5_R2.NetworkManager.b(NetworkManager.java:292)
        at net.minecraft.server.v1_5_R2.PlayerConnection.d(PlayerConnection.java:110)
        at net.minecraft.server.v1_5_R2.ServerConnection.b(SourceFile:35)
        at net.minecraft.server.v1_5_R2.DedicatedServerConnection.b(SourceFile:30)
        at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:580)
        at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:225)
        at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:476)
        at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:409)
        at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
    Caused by: java.lang.NullPointerException
        at com.gmail.mitchoost.PFPS.OnPlayerIneteractWeapon(PFPS.java:426)
        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)
        ... 16 more
    
    I imported worldguard and worldedit in my plugin:

    And made all the connections:

    Code:
    private Plugin loadPlugin(String pluginName) {
     
            Plugin plugin = getServer().getPluginManager().getPlugin(pluginName);
     
            if (plugin == null) {
     
                return null;
     
            }
     
            return plugin;
     
        }
     
       
     
        /** The World guard. */
     
        public WorldGuardPlugin WorldGuard = null;
        WorldGuardPlugin WG;
    Onenable:


    Code:
    public void onEnable() {
            WorldGuard = (WorldGuardPlugin) loadPlugin("WorldGuard");
            getServer().getPluginManager().registerEvents(this, this);
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + " has been enabled");
        }
    The code:

    Code:
    @EventHandler
        public void OnPlayerIneteractWeapon(PlayerInteractEvent e){
     
            Player p = (Player) e.getPlayer();
            World world = p.getWorld();
     
            LocalPlayer localPlayer = plugin.WorldGuard.wrapPlayer(p);
     
            RegionManager regionManager = plugin.WorldGuard.getRegionManager(world);
     
            ApplicableRegionSet arset = regionManager.getApplicableRegions(p.getLocation());
     
            if (arset.allows(DefaultFlag.PVP, localPlayer)){
                p.sendMessage("pvp off");
            }else{
                p.sendMessage("pvp on");
            }
    } 
            }
    Please help me fix this thaks :)

    Greetz,
    lolgrapig112
     
  2. Offline

    mcoder


    which of those lines ist line 426 in your code?
     
  3. Offline

    lolgrapig112

    mcoder this one:

    LocalPlayer localPlayer = plugin.WorldGuard.wrapPlayer(p);

    Really need this fixt, Please help :)

    Qeustion: Does worlguard cancel damage when falg pvp is deny ? and if so how do I get this and cancel the command I whant to do?

    I tried this to get if worldguard canceld my event:

    Code:
    @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled=true)
        public void OnHeadshot(EntityDamageByEntityEvent e){
            if (e.isCancelled()){
                safe = false;
            }else{
                safe = true;
            }
    }
    Then i did this to check if it is canceld:


    Code:
    @EventHandler
        public void OnPlayerIneteractWeapon(PlayerInteractEvent e){
     
            Player p = (Player) e.getPlayer();
            if (safe = false){
                p.sendMessage("pvp off");
            }else{
                p.sendMessage("pvp on");
            }
    }
    But that also did not work ...

    I fix it already :) I had a wrong import!

    Greetz,
    lolgrapig112

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 1, 2016
  4. Just pointing out that
    using 'ignoreCancelled=true'
    Will ignore canceled events, so
    e.isCancelled() will never be true
     
Thread Status:
Not open for further replies.

Share This Page