• 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!

Neue Spieler sollen an einen Punkt spawnen

gmb32

Kuhfänger
Registriert
17 Juni 2014
Beiträge
84
Diamanten
0
Hey ich habe bisher das,
Class
Javascript:
public class CMDSETGAST implements CommandExecutor, Listener{

    File file = new File("plugins//Neromania//gast.yml");
    YamlConfiguration cfg = new YamlConfiguration().loadConfiguration(file);
  
  
    @Override
    public boolean onCommand(CommandSender sender, Command arg1, String arg2, String[] args) {
        Player p = (Player)sender;
        if(p.hasPermission("axt.admin")) {
            if(args.length == 0) {
                if(cfg.isSet("Gastpunkt")) {
                    p.sendMessage("§7[§???§7] §cSpawnpunkt für Gäste wurde schon gesetzt!");
                    return false;
                }
              
                double x = p.getLocation().getX();
                double y = p.getLocation().getY();
                double z = p.getLocation().getZ();
                double yaw = p.getLocation().getYaw();
                double pitch = p.getLocation().getPitch();
                String world = p.getLocation().getWorld().getName();
              
                cfg.set("Gastpunkt"+ "."+".world", world);
                cfg.set("Gastpunkt" + "."+ ".x", x);
                cfg.set("Gastpunkt" + "."+ ".y", y);
                cfg.set("Gastpunkt" + "."+ ".z", z);
                cfg.set("Gastpunkt" + "."+ ".yaw", yaw);
                cfg.set("Gastpunkt" + "."+ ".pitch", pitch);
                try {
                    cfg.save(file);
                } catch (IOException e) {
                  
                    e.printStackTrace();
                }
                p.sendMessage("§7[§???§7] §aSpawnpunkt für gäste erfolgreich gesetzt!");
              
            } else {
                p.sendMessage("§7[§???§7] §c/setgast");
            }
        } else {
            p.sendMessage("§7[§???§7] §cKeine Berechtigung!");
        }
        return false;
    }
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        if(!p.hasPlayedBefore() || p.hasPermission("axt.gast")) {
            String world = cfg.getString("Gastpunkt"+"." + ".world");
            double x = cfg.getDouble("Gastpunkt" + "." + ".x");
            double y = cfg.getDouble("Gastpunkt" + "." + ".y");
            double z = cfg.getDouble("Gastpunkt" + "." + ".z");
            double yaw = cfg.getDouble("Gastpunkt" + "." + ".yaw");
            double pitch = cfg.getDouble("Gastpunkt" + "." + ".pitch");
          
            Location loc = new Location(Bukkit.getWorld(world), x, y, z, (float) yaw, (float) pitch);
            p.teleport(loc);
          
          
        }
      
      
      
    }
  
  

}

Main
Code:
CMDSETGAST gast = new CMDSETGAST();
        Bukkit.getPluginManager().registerEvents(gast, this);
this.getCommand("setgast").setExecutor(gast);
Spieler sollen wenn sie neu auf den Server kommen oder die Permission haben axt.gast an diesen Punkt gepspawnt/teleportiert werden. Aber es kommt der Fehler:
Code:
Could not pass event PlayerJoinEvent to ???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.PlayerList.onPlayerJoin(PlayerList.java:282) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerList.a(PlayerList.java:142) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.LoginListener.b(LoginListener.java:115) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.LoginListener.c(LoginListener.java:53) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:222) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.ServerConnection.c(SourceFile:168) [craftbukkit.jar:git-Bukkit-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:745) [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_141]
Caused by: java.lang.NullPointerException
        at de.axt.main.Main.setPrefix(Main.java:142) ~[?:?]
        at de.axt.main.Main.onJoin(Main.java:555) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_141]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_141]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_141]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_141]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[craftbukkit.jar:git-Bukkit-18fbb24]
        ... 14 more
 

gmb32

Kuhfänger
Registriert
17 Juni 2014
Beiträge
84
Diamanten
0
Javascript:
private static String prefix = "§7[§???§7]";

public static void setPrefix(String prefix) {
        Main.prefix = prefix;
    }

Ich habe das eigentlich nur gemacht weil den Prefix immer raus kopieren wollte.
Also eigentlich benutze ich das nicht.
 

gmb32

Kuhfänger
Registriert
17 Juni 2014
Beiträge
84
Diamanten
0
Ich sehe gerade das setPrefix() in der Main kommt daher:
Javascript:
Scoreboard sb;
    @SuppressWarnings("deprecation")
    private void setPrefix(Player p) {
        String team = "";
        if(p.hasPermission("axt.admin")) {
            team = "00000König";
        } else if(p.hasPermission("axt.builder")) {
            team = "00001Hofmeister";
        } else if(p.hasPermission("axt.spieler")){
            team = "§7";
        } else if(p.hasPermission("axt.polizist")){
            team = "00003Wache";
        } else if(p.hasPermission("axt.arzt")) {
            team = "00004Arzt";
        } else if(p.hasPermission("axt.supporter")) {
            team = "00002Supporter";
        } else if(p.hasPermission("axt.adel")) {
            team = "00005Adel";
        } else if(p.hasPermission("axt.yt")) {
            team = "00006yt";
        } else {
           
        }
       
        sb.getTeam(team).addPlayer(p);
        for(Player all : Bukkit.getOnlinePlayers()) {
            all.setScoreboard(sb);
        }
        Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
           
            @Override
            public void run() {
                for(Player all : Bukkit.getOnlinePlayers()) {
                    all.setScoreboard(sb);
                }
               
            }
        }, 20L);
       
       
    }
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
bei mir gibt es das PlayerSpawnLocationEvent nicht?
Du musst Spigot-API verlinken. Wenn du die BuildTools ausführst befindet sich die Datei im Unterordner Spigot\Spigot-API\target, noch einfacher wäre es wenn du ein moderneres Buildsystem wie Maven verwendest. Aber scheinbar benutzt du eine direkt verlinkte craftbukkit.jar von Oktober 2015.
 
Oben