1. 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!

PlugIn Unerklärbarer Fehler

Dieses Thema im Forum "Programmierung" wurde erstellt von xxProgramerx, 17. April 2014.


  1. xxProgramerx
    Offline

    xxProgramerx

    Registriert seit:
    16. März 2014
    Beiträge:
    26
    Hey Leute,

    Ich bekomme immer einen Fehler, den ich nicht verstehe, ehergesagt nicht weiß wie ich ihn lösen kann! Hier der Fehler:
    Code (Text):
    1. java.lang.IllegalArgumentException: Name cannot be null
    2.         at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[craftbu
    3. kkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    4.         at org.bukkit.craftbukkit.v1_7_R1.CraftServer.getWorld(CraftServer.java:
    5. 998) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    6.         at org.bukkit.Bukkit.getWorld(Bukkit.java:249) ~[craftbukkit.jar:git-Buk
    7. kit-1.7.2-R0.3-b3020jnks]
    8.         at Listener.JoineEvent$1.run(JoineEvent.java:87) ~[?:?]
    9.         at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java
    10. :53) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    11.         at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHea
    12. rtbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks
    13. ]
    14.         at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:5
    15. 87) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.         at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    17. 50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    18.         at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    19. 45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    20.         at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    21. :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    22.         at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    23. 17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    24. [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 (Text):
    1. package Listener;
    2.  
    3. import java.io.ByteArrayOutputStream;
    4. import java.io.DataOutputStream;
    5. import java.io.File;
    6. import java.io.IOException;
    7. import java.util.HashMap;
    8.  
    9.  
    10.  
    11.  
    12.  
    13. import me.xxPluginerxx.ShufflePVP.Main;
    14.  
    15. import org.bukkit.Bukkit;
    16. import org.bukkit.Location;
    17. import org.bukkit.Material;
    18. import org.bukkit.World;
    19. import org.bukkit.command.Command;
    20. import org.bukkit.command.CommandExecutor;
    21. import org.bukkit.command.CommandSender;
    22. import org.bukkit.configuration.file.FileConfiguration;
    23. import org.bukkit.configuration.file.YamlConfiguration;
    24. import org.bukkit.entity.Player;
    25. import org.bukkit.event.EventHandler;
    26. import org.bukkit.event.Listener;
    27. import org.bukkit.event.player.PlayerJoinEvent;
    28. import org.bukkit.inventory.ItemStack;
    29.  
    30.  
    31.  
    32.  
    33.  
    34. import ScoreboardPack.ScoreboardAdder;
    35.  
    36. public class JoineEvent implements Listener, CommandExecutor{
    37.    
    38.     public static File arena = new File("plugins/ShufflePVP/ArenaSpawns.yml");
    39.     public static FileConfiguration cfg = YamlConfiguration.loadConfiguration(arena);
    40.  
    41.     public static HashMap<Integer, Location> tele = new HashMap<>();
    42.    
    43.     int countdown;
    44.     int countdown1;
    45.     int countdown2;
    46.     private Main plugin;
    47.    
    48.  
    49.     public JoineEvent(Main main) {
    50.         this.plugin = main;
    51.     }
    52.  
    53.     int spawn = 0;
    54.    
    55.     @EventHandler
    56.     public void onJoin(PlayerJoinEvent e){
    57.        
    58.         final Player p = e.getPlayer();
    59.        
    60.        
    61.        
    62.         Bukkit.broadcastMessage("§6[ShufflePVP] " + p.getName() + " hat das Spiel betreten!");
    63.  
    64.         if(Bukkit.getOnlinePlayers().length >= 1){
    65.            
    66.             for(final Player all : Bukkit.getOnlinePlayers()){
    67.                
    68.                 countdown = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
    69.                    
    70.                     int high = 10;
    71.                     @SuppressWarnings("deprecation")
    72.                     @Override
    73.                     public void run() {
    74.                        
    75.                         if(high != 0){
    76.                             high--;
    77.                        
    78.                             p.setLevel(high);
    79.                         }else{
    80.                             if(Bukkit.getOnlinePlayers().length >= 1){
    81.            
    82.                                
    83.                             for(Player all : Bukkit.getOnlinePlayers()){
    84.                                 all.sendMessage("§6[ShufflePVP] Das Spiel beginnt!");
    85.                                     spawn++;
    86.                                    
    87.                                        [B][COLOR="#FF0000"] World w = Bukkit.getWorld(spawn + ".World");[/COLOR][/B]
    88.                                     double x = cfg.getDouble(spawn + ".PosX");
    89.                                     double y = cfg.getDouble(spawn + ".PosY");
    90.                                     double z = cfg.getDouble(spawn + ".PosZ");
    91.                                    
    92.                                     Location loc = new Location(w, x, y, z);
    93.                                     all.teleport(loc);
    94.                                    
    95.                                
    96.                                 all.getInventory().setHelmet(new ItemStack(306, 1));
    97.                                 all.getInventory().setChestplate(new ItemStack(307, 1));
    98.                                 all.getInventory().setLeggings(new ItemStack(308, 1));
    99.                                 all.getInventory().setBoots(new ItemStack(309, 1));
    100.                                 all.getInventory().addItem(new ItemStack(267, 1));
    101.                                 all.getInventory().addItem(new ItemStack(261, 1));
    102.                                 all.getInventory().addItem(new ItemStack(262, 16));
    103.                                
    104.                                 File kills = new File("plugins/ShufflePVP/", "Scoreboardstats.yml");
    105.                                 FileConfiguration stats = YamlConfiguration.loadConfiguration(kills);
    106.                                 stats.set(all.getName() + ".Kills", 0);
    107.                                
    108.                                 ScoreboardAdder.CreateScoreboard(all);
    109.                            
    110.                                 Zeit();
    111.                            
    112.                             }
    113.                             spawn = 0;
    114.                             }else{
    115.                                 all.sendMessage("§6[ShufflePVP] Es sind zu wenig Spieler auf dem Server!");
    116.                             }
    117.                            
    118.                             Bukkit.getScheduler().cancelTask(countdown);
    119.                         }
    120.                        
    121.                        
    122.                     }
    123.                 }, 0L, 20L);
    124.            
    125.             }
    126.            
    127.         }
    128.     }
    129.    
    130.  
    131. public void Zeit(){
    132.     countdown1 = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
    133.         int time = 300;
    134.         @Override
    135.         public void run() {
    136.             if(time != 0){
    137.                 time--;
    138.             }
    139.             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){
    140.    
    141.            
    142.                             for (Player alle : Bukkit.getOnlinePlayers()) {
    143.                                 int i = 0;
    144.                                 tele.put(i, alle.getLocation());
    145.                                 i++;
    146.                             }
    147.                             for (Player telep : Bukkit.getOnlinePlayers()) {
    148.                                 int t = Bukkit.getOnlinePlayers().length - 1;
    149.                                 telep.teleport(tele.get(t));
    150.                             }
    151.             }
    152.             if(time == 240){
    153.                 Bukkit.broadcastMessage("§6Das Spiel dauert noch 4 Minuten!");
    154.                
    155.             }
    156.             if(time == 180){
    157.                 Bukkit.broadcastMessage("§6Das Spiel dauert noch 3 Minuten!");
    158.                
    159.             }
    160.             if(time == 120){
    161.                 Bukkit.broadcastMessage("§6Das Spiel dauert noch 2 Minuten!");
    162.                
    163.             }
    164.             if(time == 60){
    165.                 Bukkit.broadcastMessage("§6Das Spiel dauert noch 1 Minuten!");
    166.                
    167.             }
    168.             if(time == 0){
    169.  
    170.                 Bukkit.broadcastMessage("§6Das Spiel ist vorbei! Der Server restartet in 10 Sekunden!");
    171.                 Bukkit.getScheduler().cancelTask(countdown1);
    172.                 Zeit1();
    173.             }
    174.         }
    175.     }, 0, 20L);
    176.    
    177. }
    178.  
    179. public void Zeit1(){
    180.     countdown2 = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
    181.    
    182.         ByteArrayOutputStream b = new ByteArrayOutputStream();
    183.         DataOutputStream out = new DataOutputStream(b);
    184.        
    185.         int time = 10;
    186.         @Override
    187.         public void run() {
    188.             if(time != 0){
    189.                 time--;
    190.             }
    191.            
    192.             if(time == 0){
    193.                 for(Player all : Bukkit.getOnlinePlayers()){
    194.                    
    195.                     all.getInventory().setHelmet(new ItemStack(Material.AIR, 1));
    196.                     all.getInventory().setChestplate(new ItemStack(Material.AIR, 1));
    197.                     all.getInventory().setLeggings(new ItemStack(Material.AIR, 1));
    198.                     all.getInventory().setBoots(new ItemStack(Material.AIR, 1));
    199.                     all.getInventory().clear();
    200.                     try {
    201.                         out.writeUTF("Connect");
    202.                         out.writeUTF("lobby");
    203.                     } catch (IOException e) {
    204.                         // TODO Auto-generated catch block
    205.                         e.printStackTrace();
    206.                     }
    207.                    
    208.                     all.sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
    209.                    
    210.                     ScoreboardAdder.remove(all);
    211.                 }
    212.                
    213.                 Bukkit.getScheduler().cancelTask(countdown2);
    214.             }
    215.         }
    216.     }, 0, 20L);
    217.    
    218. }
    219.  
    220.  
    221. @Override
    222. public boolean onCommand(CommandSender sender, Command cmd, String label,
    223.         String[] args) {
    224.     Player p = (Player) sender;
    225.     if(cmd.getName().equalsIgnoreCase("cancel")){
    226.        
    227.         Bukkit.getScheduler().cancelTask(countdown);
    228.         return true;
    229.     }
    230.     return false;
    231. }
    232.    
    233.  
    234.    
    235. }
    236.  
    237.  
    Die Zeile 87 habe ich farbig makiert! Braucht ihr noch andere Klassen?
    Weiß jemand wo der Fehler ist?
    Wie kann ich ihn beheben?

    MFG
     
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.397
    Steht doch direkt in der ersten zeile was der Fehler ist:
    Du übergibst null und keinen String.

    Und das:
    ist auch eine ganz tolle idee. Es hat einen Grund warum sachen als deprecated markiert werden.
     
  3. xxProgramerx
    Offline

    xxProgramerx

    Registriert seit:
    16. März 2014
    Beiträge:
    26
    Oke aber wie kann ich das fixen... Nirgendwo übergebe ich null..
    Oder übersehe ich da was?

    MFG
     
  4. SasukeKawaii
    Offline

    SasukeKawaii Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    1.006
    Geschlecht:
    männlich

    Du hast aber etwas übergeben, was null ist.
     
  5. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    147
    Geschlecht:
    männlich
    Minecraft:
    Paulomart
    Falls du nicht weißt ob ein Object null ist, kannst du einfach das machen:

    Code (Text):
    1.  
    2. if (obj != null){
    3.     //mache was mit obj
    4.    obj.sendMessage("du kannst nicht null sein");
    5. }
    6.  
    Ich würde jetz aber nicht mein gesamten Code damit voll klatschen. Vielleicht hast du ein Object nicht inizalisiert, also mit:

    Code (Text):
    1.  
    2. String text = "hi";
    3.  
    oder

    Code (Text):
    1.  
    2. String text;
    3. text = "hi";
    4.  
    sondern mit:

    Code (Text):
    1.  
    2. String text;
    3.  
    Beim unteren Beispiel wäre der Text null.


    Und du machst Bukkit Tutorials auf Youtube? :(
     
  6. Blindhero
    Offline

    Blindhero

    Soweit ich weiß, ist getWorld vom server abhängig also:
    World w = Bukkit.getServer().getWorld(String name);