Inventar fehler!

Dieses Thema im Forum "Programmierung" wurde erstellt von CrackRudi, 3. Mai 2016.

  1. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Wenn ich ein Inventar erstellt habe und dort an den rand clicke kommt ein Fehler !

    Code (Text):
    1. [16:02:30 ERROR]: Could not pass event InventoryClickEvent to CrackBurnServerSwitcher v1.0
    2. org.bukkit.event.EventException
    3.         at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    4.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    5.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    6.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    7.         at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1852) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    8.         at net.minecraft.server.v1_9_R1.PacketPlayInWindowClick.a(SourceFile:33) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    9.         at net.minecraft.server.v1_9_R1.PacketPlayInWindowClick.a(SourceFile:10) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    10.         at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    11.         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_25]
    12.         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_25]
    13.         at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    14.         at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    15.         at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    16.         at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    17.         at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    18.         at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
    19. Caused by: java.lang.NullPointerException
    20.         at de.crackburn.events.Event_Extras.onInventoryClick(Event_Extras.java:82) ~[?:?]
    21.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
    22.         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25]
    23.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]
    24.         at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
    25.         at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.9.2.jar:git-Spigot-944aa20-8d16fc0]
    26.         ... 15 more
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Was genau erwartest du jetzt von uns? Alles was wir dir sagen können ist das irgendein Objekt in der Zeile 82 in der klasse Event_Extras null ist...
     
    #2
  3. Verschraubt
    Online

    Verschraubt

    Du hast wahrscheinlich nicht bedacht, dass das Item, das man in dem Inventar anklickt auch null, also nicht vorhanden sein kann.
    Hier reicht es wenn du davor abfragst, ob das Item "existiert".
     
    #3
    jensIO gefällt das.
  4. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    wie mache ich dass den ?
    Code (Javascript):
    1. package de.crackburn.events;
    2.  
    3.  
    4. import java.util.ArrayList;
    5.  
    6. import org.bukkit.Material;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.Action;
    11. import org.bukkit.event.inventory.InventoryClickEvent;
    12. import org.bukkit.event.player.PlayerInteractEvent;
    13. import org.bukkit.inventory.ItemStack;
    14. import org.bukkit.inventory.meta.ItemMeta;
    15. import org.bukkit.inventory.meta.SkullMeta;
    16.  
    17. import de.crackburn.main.main;
    18.  
    19. public class Event_Extras implements Listener {
    20.    
    21.     ArrayList<String> loreee = new ArrayList<>();
    22.     ArrayList<String> lore2eee = new ArrayList<>();
    23.    
    24.    
    25.     @EventHandler
    26.     public void onPlayerInteract(PlayerInteractEvent e) {
    27.         Player p = e.getPlayer();
    28.        
    29.         if(e.getAction() == Action.RIGHT_CLICK_AIR | e.getAction() == Action.RIGHT_CLICK_BLOCK) {
    30.             if(e.getMaterial().equals(Material.ENDER_CHEST)) {
    31.                
    32.                 main.extras = p.getServer().createInventory(null, 9, "§cRegeln & §6Extras");
    33.                        
    34.                 ItemStack admin = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
    35.                 SkullMeta adminm = (SkullMeta) admin.getItemMeta();
    36.                 adminm.setDisplayName("§4Admin Bereich");
    37.                 admin.setItemMeta(adminm);
    38.                
    39.                 ItemStack boots = new ItemStack(Material.GOLD_BOOTS, 1);
    40.                 ItemMeta bootsMeta = boots.getItemMeta();
    41.                 bootsMeta.setDisplayName("§6Boots");
    42.                 loreee.add("Ziehe dir boots an!");
    43.                 bootsMeta.setLore(loreee);
    44.                 boots.setItemMeta(bootsMeta);
    45.                
    46.                 ItemStack regeln = new ItemStack(Material.BOOK, 1);
    47.                 ItemMeta regelnMeta = regeln.getItemMeta();
    48.                 regelnMeta.setDisplayName("§4regeln");
    49.                 lore2eee.add("§7Zeigt dir die Server Regeln!");
    50.                 regelnMeta.setLore(lore2eee);
    51.                 regeln.setItemMeta(regelnMeta);
    52.                
    53.                 ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
    54.                 SkullMeta sm = (SkullMeta) skull.getItemMeta();
    55.                 sm.setDisplayName("§dServer Team");
    56.                 sm.setOwner(p.getName());
    57.                 skull.setItemMeta(sm);
    58.                
    59.                 if(p.isOp()){
    60.                     main.extras.setItem(1, admin);
    61.                 }
    62.                 main.extras.setItem(7, skull);
    63.                 main.extras.setItem(5, boots);
    64.                 main.extras.setItem(3, regeln);
    65.                
    66.                
    67.                
    68.                 p.openInventory(main.extras);
    69.             }
    70.         }
    71.     }
    72.    
    73.     @EventHandler
    74.     public void onInventoryClick(InventoryClickEvent e) {
    75.         Player p = (Player) e.getWhoClicked();
    76.        
    77.         if(e.getInventory().getName().equalsIgnoreCase("§cRegeln & §6Extras" )) {
    78.                 e.setCancelled(true);
    79.            
    80.                     }
    81.                
    82.                     if(e.getCurrentItem().getType() == Material.GOLD_BOOTS) {
    83.                         p.performCommand("boots");
    84.                    
    85.                     }
    86.                    
    87.                     if(e.getCurrentItem().getType() == Material.BOOK) {
    88.                         p.closeInventory();
    89.                         p.performCommand("regeln");
    90.                
    91.                     }
    92.                        
    93.        
    94.        
    95.     }
    96. }
    97.    
    98.    
    99.  
    100.  
     
    #4
  5. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Indem du überprüfst ob das currentItem ungleich null ist.
    Oder (und diese Lösung ist 1000 mal besser) du lernst vernünftig Java ;)
     
    #5
  6. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    und wie geht dass ?
     
    #6
  7. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Mit einer if abfrage?
    Ernsthaft, Lern wenigstens die Grundlagen von Java und kopier nicht einfach nur von Youtubern und co.
    Das hilft dir viel mehr und dann kannst du auch richtig gute plugins schreiben ;)
     
    #7
    Zeniite und jensIO gefällt das.
  8. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Bitte poste hier genau den Code, der auch die Exception wirft, damit die Zeilenangaben überein stimmen... Dein geposteter Code ist nicht der, den du ausgeführt hast, als die Fehlermeldung kam.
     
    #8
  9. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Errr... what? o_O
    Das ist der richtige Code...
    Code (Text):
    1. Caused by: java.lang.NullPointerException
    2.         at de.crackburn.events.Event_Extras.onInventoryClick(Event_Extras.java:82) ~[?:?]
    package de.crackburn.events;
    public class Event_Extrasimplements Listener {

    Zeile 82
    Code (Text):
    1. if(e.getCurrentItem().getType() == Material.GOLD_BOOTS) {
    Da passt eine NullpointerException sehr gut wenn das Item das man anklickt null ist.
     
    #9
  10. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Oh, habe Zeile 80 gelesen...
     
    #10
  11. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Danke für eure Hilfe!
    Bin grade neu und Lerne noch und deshalb brauche ich noch ein bisschen Hilfe!
     
    #11