• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Location wird nicht erkannt?

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Hallo.
Ich wollte gerade eine neue location erstellen mit:

Javascript:
Location loc = new Location(getServer().getWorld("world"), 1118, 60, 92);

Aber da wird das zweite Location, also das hinter dem new, immer rot unterstrichen und es ist ein Error.
Bei dem Error steht dann Folgendes:

Cannot instantiate the type DocumentationTool.Location

Wahrscheinlich ist es mein Fehler und ich bin zu dumm dafür, das zu beheben.
Wenn es mir trotzdem einer sagen könnte, wär das super! :)
 

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Okay.
Doch wieder eine Frage.
Diesmal bekomme ich einen Error, weiß aber nicht woran das liegt.
Es geht um folgenden Code:
Javascript:
    @EventHandler
    public void onDeath(PlayerDeathEvent e) {
        Player p = e.getEntity();
        Player k = e.getEntity().getKiller();
       
       
        stats.setDeath(p);
        scoreboard.setScoreboard(p);
        p.sendMessage("§cDu wurdest von §e" + k.getDisplayName() + " §cgetötet.");
        p.setLevel(0);
       
        if(k != null) {
            stats.setKill(k);
            k.sendMessage("§aDu hast §e" + p.getDisplayName() + " §agetötet.");
            scoreboard.setScoreboard(k);
            k.setLevel(k.getLevel() +1 );
        }
       
    }
(Das ist der Code, was passiert, wenn jemand getötet wird)
Javascript:
    public static void setKill(Player p) {
        File file = new File("plugins//Surf//config.yml");
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
       
        if(cfg.get(p.getUniqueId() + ".Kills") == null) {
            cfg.set(p.getUniqueId() + ".Kills", 0);
            try {
                cfg.save(file);
            } catch (IOException e) {}
            int i = cfg.getInt(p.getUniqueId() + ".Kills");
            int total = i + 1;
            cfg.set(p.getUniqueId() + ".Kills", total);
            try {
                cfg.save(file);
            } catch (IOException e) {}
        }
       
       
       
       
    }
    public static void setDeath(Player p) {
        File file = new File("plugins//Surf//config.yml");
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
       
        if(cfg.get(p.getUniqueId() + ".Deaths") == null) {
            cfg.set(p.getUniqueId() + ".Deaths", 0);
            try {
                cfg.save(file);
            } catch (IOException e) {}
            int i = cfg.getInt(p.getUniqueId() + ".Deaths");
            int total = i + 1;
            cfg.set(p.getUniqueId() + ".Deaths", total);
            try {
                cfg.save(file);
            } catch (IOException e) {}
        }
       
       
       
       
    }
   
    public static int getDeaths(Player p) {
        File file = new File("plugins//Surf//config.yml");
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
        int i = 0;
        if(cfg.get(p.getUniqueId() + ".Deaths") == null) {
            i = 0;
        }else {
            cfg.getInt(p.getUniqueId() + ".Deaths");
        }
       
       
       
       
        return i;
       
    }
    public static int getKills(Player p) {
        File file = new File("plugins//Surf//config.yml");
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
        int i = 0;
        if(cfg.get(p.getUniqueId() + ".Kills") == null) {
            i = 0;
        }else {
            cfg.getInt(p.getUniqueId() + ".Kills");
        }
       
       
       
       
        return i;
       
    }
}
(Und das der Code, was die Kills im Scoreboard steuert)

Das hier ist der Error, den ich erhalte, mit dem ich aber nichts anfangen kann:

Code:
Could not pass event PlayerDeathEvent to mapchange v1.0
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:381) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityPlayer.die(EntityPlayer.java:407) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityLiving.damageEntity(EntityLiving.java:806) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityHuman.damageEntity(EntityHuman.java:801) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityPlayer.damageEntity(EntityPlayer.java:486) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityLiving.e(EntityLiving.java:933) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityHuman.e(EntityHuman.java:1441) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.Block.a(Block.java:595) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.Entity.a(Entity.java:810) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityLiving.a(EntityLiving.java:158) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityPlayer.a(EntityPlayer.java:612) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:444) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketPlayInFlying.a(SourceFile:126) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketPlayInPositionLook.a(SourceFile:18) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_25]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_25]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
Caused by: java.lang.NullPointerException
    at at.proxxy.main.listener.onDeath(listener.java:29) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
    ... 25 more
Wo ist der Fehler?
Wie kann ich das beheben?
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Hier findest du den Fehler:
Code:
Caused by: java.lang.NullPointerException
    at at.proxxy.main.listener.onDeath(listener.java:29) ~[?:?]

Da du deine Klasse nicht vollständig zitiert hast, musst du selber schauen, welcher der Zeilen die 29 ist und dann überlegen (und testen) welcher der Variablen null sein könnte.
 

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771
  • Caused by: java.lang.NullPointerException
  • at at.proxxy.main.listener.onDeath(listener.java:29) ~[?:?]
Ohne die ganze Klasse sind die Zeilenangaben leider relativ wertlos.
Ich schätze mal, dass es an einem der Beiden liegt:
  • Player p = e.getEntity();

  • Player k = e.getEntity().getKiller();

Oder ....
  • stats.setDeath(p);

  • scoreboard.setScoreboard(p);

Bitte poste mal die ganze Klasse. Das ist ewiges rätseln.
 

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Jo. Hier die ganze Klasse:
Javascript:
package at.proxxy.main;

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.BlockPlaceEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;

public class listener implements Listener{

    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
       
        scoreboard.setScoreboard(p);
        e.setJoinMessage(none);
       
   
   
    }
   
    @EventHandler
    public void onQuit(PlayerQuitEvent e) {
        Player p  = e.getPlayer();
        e.setQuitMessage(none);
       
   
   
    }
   
    @EventHandler
    public void onDeath(PlayerDeathEvent e) {
        Player p = e.getEntity();
        Player k = e.getEntity().getKiller();
       
       
        stats.setDeath(p);
        scoreboard.setScoreboard(p);
        p.sendMessage("§cDu wurdest von §e" + k.getDisplayName() + " §cgetötet.");
        p.setLevel(0);
       
        if(k != null) {
            stats.setKill(k);
            k.sendMessage("§aDu hast §e" + p.getDisplayName() + " §agetötet.");
            scoreboard.setScoreboard(k);
            k.setLevel(k.getLevel() +1 );
        }
       
    }
   
   
      @EventHandler
      public void setDroppedExp(int exp) {
           int i = 0;
           setDroppedExp(i);
          
      }



   
    @EventHandler
    public void onNewPlayerBreak(BlockBreakEvent event){
        Player p  = event.getPlayer();
        if(p.hasPermission("Block.Deny") == false){
                event.setCancelled(true);
                event.getPlayer().sendMessage("§cDu darfst hier nichts abbauen!");
           
        }
    }
   
    @EventHandler
    public void onNewPlayerPlace(BlockPlaceEvent event){
        Player p  = event.getPlayer();
        if(p.hasPermission("Block.Deny") == false){
            event.setBuild(false);
            event.getPlayer().sendMessage("§cDu darfst hier nichts platzieren!");
        }
    }
   
   
   
    @EventHandler
    public void onDeathattack(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.ENTITY_ATTACK) {
            e.setDeathMessage(none);
        }
    }
    @EventHandler
    public void onDeathcont(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.CONTACT) {
            e.setDeathMessage(none);
        }
    }
    @EventHandler
    public void onDeathslava(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.LAVA) {
            e.setDeathMessage(none);
        }
    }
    @EventHandler
    public void onDeathsdrown(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.DROWNING) {
            e.setDeathMessage(none);
        }
    }
    @EventHandler
    public void onDeathsfire(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.FIRE) {
            e.setDeathMessage(none);
        }
    }
    @EventHandler
    public void onDeathslight(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.LIGHTNING) {
            e.setDeathMessage(none);
        }
    }
    @EventHandler
    public void onDeathspoison(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.POISON) {
            e.setDeathMessage(none);
        }
    }
    @EventHandler
    public void onDeath***plo(PlayerDeathEvent e) {
        if (e.getEntity().getLastDamageCause().getCause() == DamageCause.BLOCK_EXPLOSION) {
            e.setDeathMessage(none);
        }
    }
}
 

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Und, ehh, kann es sein, dass der Code hier ein bisschen buggy ist?
Javascript:
    @EventHandler
    public void onMove(PlayerMoveEvent e){
        Player p = e.getPlayer();
        if(p.getLocation().getBlock().getType() == Material.WATER){
            Vector v = p.getLocation().getDirection().multiply(3D).setY(3).setX(0).setZ(0);
            p.setVelocity(v);
        
        }
    }
Weil nicht immer, wenn man im Wasser ist, wird man hochgeschleudert. Das passiert nur, wenn man unter sich erneut einen Wassereimer setzt...
Kann man das beheben, oder soll ich es lieber mit was anderem machen?
 

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Ich habe mir auch bereits ein Buch zugelegt, lese es gerade auch durch und lerne auch was dabei :D Aber ich programmiere halt nebenbei auch noch dieses SurfGame. Das brauch ich, weil ein Freund und ich selbst es brauchen. Deswegen bleibe ich an diesen Dingen noch hängen. Bin aber im Buch schon bei den Events. Weiß nicht, ob das weit ist, aber alles davor kann ich schon :)
Deswegen kommen eben diese Fragen, aber ich versuche, so viel wie möglich selbst zu beantworten...
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Also irgendwie passt das alles nicht zusammen: Der Fehler tritt in einer Methode onDeath() auf, Zeile 29 gehört in deinem Quellcode aber zur Methode onQuit() und die ganze Klasse würde wegen dem undefiniertem "none" nicht kompilieren. Das bedeutet zumindest, dass das Plugin auf dem Server von deinem Quellcode erheblich abweicht.
 

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771
Oben