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

Unerklärbarer Fehler

xxProgramerx

Minecrafter
Registriert
16 März 2014
Beiträge
26
Diamanten
0
Hey Leute,

Ich bekomme immer einen Fehler, den ich nicht verstehe, ehergesagt nicht weiß wie ich ihn lösen kann! Hier der Fehler:
Code:
java.lang.IllegalArgumentException: Name cannot be null
        at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[craftbu
kkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftServer.getWorld(CraftServer.java:
998) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at org.bukkit.Bukkit.getWorld(Bukkit.java:249) ~[craftbukkit.jar:git-Buk
kit-1.7.2-R0.3-b3020jnks]
        at Listener.JoineEvent$1.run(JoineEvent.java:87) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java
:53) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHea
rtbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks
]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:5
87) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
[17:28:21 WARN]: [ShuffelPVP] Task #2 for ShuffelPVP v1.0 generated an exception

Hier ist die Klasse in der der Fehler sein soll:
Code:
package Listener;

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;





import me.xxPluginerxx.ShufflePVP.Main;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;





import ScoreboardPack.ScoreboardAdder;

public class JoineEvent implements Listener, CommandExecutor{
	
	public static File arena = new File("plugins/ShufflePVP/ArenaSpawns.yml");
	public static FileConfiguration cfg = YamlConfiguration.loadConfiguration(arena);

	public static HashMap<Integer, Location> tele = new HashMap<>();
	
	int countdown;
	int countdown1;
	int countdown2;
	private Main plugin;
	

	public JoineEvent(Main main) {
		this.plugin = main;
	}

	int spawn = 0;
	
	@EventHandler
	public void onJoin(PlayerJoinEvent e){
		
		final Player p = e.getPlayer();
		
		
		
		Bukkit.broadcastMessage("§6[ShufflePVP] " + p.getName() + " hat das Spiel betreten!");

		if(Bukkit.getOnlinePlayers().length >= 1){
			
			for(final Player all : Bukkit.getOnlinePlayers()){
				
				countdown = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
					
					int high = 10;
					@SuppressWarnings("deprecation")
					@Override
					public void run() {
						
						if(high != 0){
							high--;
						
							p.setLevel(high);
						}else{
							if(Bukkit.getOnlinePlayers().length >= 1){
			
								
							for(Player all : Bukkit.getOnlinePlayers()){
								all.sendMessage("§6[ShufflePVP] Das Spiel beginnt!");
									spawn++;
									
								       [B][COLOR="#FF0000"] World w = Bukkit.getWorld(spawn + ".World");[/COLOR][/B]
									double x = cfg.getDouble(spawn + ".PosX");
									double y = cfg.getDouble(spawn + ".PosY");
									double z = cfg.getDouble(spawn + ".PosZ");
									
									Location loc = new Location(w, x, y, z);
									all.teleport(loc);
									
								
								all.getInventory().setHelmet(new ItemStack(306, 1));
								all.getInventory().setChestplate(new ItemStack(307, 1));
								all.getInventory().setLeggings(new ItemStack(308, 1));
								all.getInventory().setBoots(new ItemStack(309, 1));
								all.getInventory().addItem(new ItemStack(267, 1));
								all.getInventory().addItem(new ItemStack(261, 1));
								all.getInventory().addItem(new ItemStack(262, 16));
								
								File kills = new File("plugins/ShufflePVP/", "Scoreboardstats.yml");
								FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
								stats.set(all.getName() + ".Kills", 0);
								
								ScoreboardAdder.CreateScoreboard(all);
							
								Zeit();
							
							}
							spawn = 0;
							}else{
								all.sendMessage("§6[ShufflePVP] Es sind zu wenig Spieler auf dem Server!");
							}
							
							Bukkit.getScheduler().cancelTask(countdown);
						}
						
						
					}
				}, 0L, 20L);
			
			}
			
		}
	}
	

public void Zeit(){
	countdown1 = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
		int time = 300;
		@Override
		public void run() {
			if(time != 0){
				time--;
			}
			if(time == 280 || time == 260 || time == 240 || time == 220 || time == 200 || time == 180 || time == 160 || time == 140 || time == 120 || time == 100 || time == 80 || time == 60 || time == 40 || time == 20){
	
			
				            for (Player alle : Bukkit.getOnlinePlayers()) {
				                int i = 0;
				                tele.put(i, alle.getLocation());
				                i++;
				            }
				            for (Player telep : Bukkit.getOnlinePlayers()) {
				                int t = Bukkit.getOnlinePlayers().length - 1;
				                telep.teleport(tele.get(t));
				            }
			}
			if(time == 240){
				Bukkit.broadcastMessage("§6Das Spiel dauert noch 4 Minuten!");
				
			}
			if(time == 180){
				Bukkit.broadcastMessage("§6Das Spiel dauert noch 3 Minuten!");
				
			}
			if(time == 120){
				Bukkit.broadcastMessage("§6Das Spiel dauert noch 2 Minuten!");
				
			}
			if(time == 60){
				Bukkit.broadcastMessage("§6Das Spiel dauert noch 1 Minuten!");
				
			}
			if(time == 0){

				Bukkit.broadcastMessage("§6Das Spiel ist vorbei! Der Server restartet in 10 Sekunden!");
				Bukkit.getScheduler().cancelTask(countdown1);
				Zeit1();
			}
		}
	}, 0, 20L);
	
}

public void Zeit1(){
	countdown2 = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
	
		ByteArrayOutputStream b = new ByteArrayOutputStream();
		DataOutputStream out = new DataOutputStream(b);
		
		int time = 10;
		@Override
		public void run() {
			if(time != 0){
				time--;
			}
			
			if(time == 0){
				for(Player all : Bukkit.getOnlinePlayers()){
					
				    all.getInventory().setHelmet(new ItemStack(Material.AIR, 1));
				    all.getInventory().setChestplate(new ItemStack(Material.AIR, 1));
				    all.getInventory().setLeggings(new ItemStack(Material.AIR, 1));
				    all.getInventory().setBoots(new ItemStack(Material.AIR, 1));
					all.getInventory().clear();
					try {
						out.writeUTF("Connect");
						out.writeUTF("lobby");
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
					all.sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
					
					ScoreboardAdder.remove(all);
				}
				
				Bukkit.getScheduler().cancelTask(countdown2);
			}
		}
	}, 0, 20L);
	
}


@Override
public boolean onCommand(CommandSender sender, Command cmd, String label,
		String[] args) {
	Player p = (Player) sender;
	if(cmd.getName().equalsIgnoreCase("cancel")){
		
		Bukkit.getScheduler().cancelTask(countdown);
		return true;
	}
	return false;
}
	

	
}

Die Zeile 87 habe ich farbig makiert! Braucht ihr noch andere Klassen?
Weiß jemand wo der Fehler ist?
Wie kann ich ihn beheben?

MFG
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Steht doch direkt in der ersten zeile was der Fehler ist:
java.lang.IllegalArgumentException: Name cannot be null
Du übergibst null und keinen String.

Und das:
@SuppressWarnings("deprecation")
ist auch eine ganz tolle idee. Es hat einen Grund warum sachen als deprecated markiert werden.
 

Paulomart

Schafhirte
Registriert
3 November 2013
Beiträge
147
Diamanten
0
Minecraft
Paulomart
Falls du nicht weißt ob ein Object null ist, kannst du einfach das machen:

Code:
if (obj != null){
    //mache was mit obj 
   obj.sendMessage("du kannst nicht null sein");
}

Ich würde jetz aber nicht mein gesamten Code damit voll klatschen. Vielleicht hast du ein Object nicht inizalisiert, also mit:

Code:
String text = "hi";

oder

Code:
String text;
text = "hi";

sondern mit:

Code:
String text;

Beim unteren Beispiel wäre der Text null.


Und du machst Bukkit Tutorials auf Youtube? :(
 
Oben