Solved Something rong with registering the Listeners

Discussion in 'Plugin Help/Development/Requests' started by Prex, Jul 19, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    Prex

    Well hello,
    I am struggeling with my plugin because I cant fix it :(

    The problem is that it says in the Consol that theres a problem with one row in my Main Class, so when I remove it it show no error/warning in the Consol. But when I test it it also doesnt work...

    So here are my clases and the Consol Error:

    Main Class:
    Code:
    [/B]package de.Prex.Pet;
    import java.util.HashMap;
    import net.md_5.bungee.api.ChatColor;
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Entity;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    public class Main extends JavaPlugin implements Listener{   
        
        public static HashMap<String,Entity> Pets = new HashMap<String, Entity>();
        public static String prefix = ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + "MarsCraft" + ChatColor.DARK_GRAY + "]";
      
        @Override
           public void onEnable(){
                this.getLogger().info(Main.prefix + "Plugin Aktiviert");
                registerCommands();
                regiserListeners();
                Bukkit.getServer().getPluginManager().registerEvents(this, this);
           }
        
           @Override
           public void onDisable(){
               this.getLogger().info( Main.prefix + "Plugin Deaktiviert");
           }
        
           public void registerCommands(){
               getCommand("pet").setExecutor(new PetCommand());
           }
        
           public void regiserListeners(){
               PluginManager pm = Bukkit.getPluginManager();
               pm.registerEvents(new DamageListener(this), this);
               pm.registerEvents(new GUI(this), this);
               pm.registerEvents(new QuitListener(this), this);
               pm.registerEvents(new MoveListener(this), this);
           }
        
        
        
    }[B]
    GUI Class:
    Code:
    [/B][/B]
    package de.Prex.Pet;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    
    public class GUI implements Listener {
       
        @SuppressWarnings("unused")
        private Main main;
        public GUI(Main main) {
            this.main = main;
        }
    
            public static Inventory PETSGUI = Bukkit.createInventory(null, 27, "§6Haustiere");
           
            static{
               
    
              //Zurück Button
              ItemStack Barrier = new ItemStack(Material.BARRIER);
              ItemMeta BarrierM = Barrier.getItemMeta();
              BarrierM.setDisplayName("§4Zurück");
              Barrier.setItemMeta(BarrierM);
             
              //Schwein
                ItemStack Schwein = new ItemStack(Material.MONSTER_EGG, 1, (short) 90);
              ItemMeta Schweinm = Schwein.getItemMeta();
              Schweinm.setDisplayName("§dSchwein");
             
              //Schaf
              ItemStack Schaf = new ItemStack(Material.MONSTER_EGG, 1, (short) 91);
              ItemMeta SchafM = Schaf.getItemMeta();
              SchafM.setDisplayName("Schaf");
             
              //Kuh
              ItemStack Kuh = new ItemStack(Material.MONSTER_EGG, 1, (short) 92);
              ItemMeta KuhM = Kuh.getItemMeta();
              KuhM.setDisplayName("§0K§fu§0h");
             
              //Pilz-Kuh
              ItemStack PilzK = new ItemStack(Material.MONSTER_EGG, 1, (short) 96);
                ItemMeta PilzKM = PilzK.getItemMeta();
                PilzKM.setDisplayName("§4P§8i§4l§8z§4-§8K§4u§8h");
               
                //Huhn
               
                ItemStack Huhn = new ItemStack(Material.MONSTER_EGG, 1, (short) 93);
                ItemMeta HuhnM = Huhn.getItemMeta();
                HuhnM.setDisplayName("Huhn");
               
                //Wolf/Hund
               
                ItemStack Wolf = new ItemStack(Material.MONSTER_EGG, 1 ,(short) 95);
                ItemMeta WolfM = Wolf.getItemMeta();
                WolfM.setDisplayName("§7Wolf");
               
                //Ozelot/Katze
               
                ItemStack Katze = new ItemStack(Material.MONSTER_EGG, 1,(short) 98);
                ItemMeta KatzeM = Katze.getItemMeta();
                KatzeM.setDisplayName("§6K&0a§6t§0z§6e");
    
                //Hase
               
                ItemStack Hase = new ItemStack(Material.MONSTER_EGG, 1,(short) 101);
                ItemMeta HaseM = Hase.getItemMeta();
                HaseM.setDisplayName("Hase");
               
                //Pferd
           
                ItemStack Pferd = new ItemStack(Material.MONSTER_EGG, 1, (short) 100);
                ItemMeta PferdM = Pferd.getItemMeta();
                PferdM.setDisplayName("§0Pferd");
               
                //FlederMaus
               
                ItemStack FlederMa = new ItemStack(Material.MONSTER_EGG, 1, (short)65 );
                ItemMeta FlederMaM = FlederMa.getItemMeta();
                FlederMaM.setDisplayName("§0Fleder Maus");
               
                //TintenFisch
               
                ItemStack Tinten = new ItemStack(Material.MONSTER_EGG, 1,(short)94);
                ItemMeta TintenM = Tinten.getItemMeta();
                TintenM.setDisplayName("§bTinten Fisch");
               
                //Magma Schleim
               
                ItemStack MagmaS = new ItemStack(Material.MONSTER_EGG, 1, (short) 62);
                ItemMeta MagmaSM = MagmaS.getItemMeta();
                MagmaSM.setDisplayName("§6M§0a§6g§0m§6a S§0c§6h§0l§6e§0i§6m");
               
                //Schleim
               
                ItemStack Schleim = new ItemStack(Material.MONSTER_EGG,1 ,(short)55);
                ItemMeta SchleimM = Schleim.getItemMeta();
                SchleimM.setDisplayName("§aSchleim");
               
                //Skelett
               
                ItemStack Skelett = new ItemStack(Material.MONSTER_EGG, 1,(short)51);
                ItemMeta SkelettM = Skelett.getItemMeta();
                SkelettM.setDisplayName("§7Skelett");
               
                //Spinne 
               
                ItemStack Spinne = new ItemStack(Material.MONSTER_EGG, 1,(short)52);
                ItemMeta SpinneM = Spinne.getItemMeta();
                SpinneM.setDisplayName("§0Spinne");
               
                //Zombie
               
                ItemStack Zombie = new ItemStack(Material.MONSTER_EGG, 1 ,(short)54);
                ItemMeta ZombieM = Zombie.getItemMeta();
                ZombieM.setDisplayName("§aZombie");
               
                //Zombie Schwein
               
                ItemStack ZombieP = new ItemStack(Material.MONSTER_EGG, 1,(short)57);
                ItemMeta ZombiePM = ZombieP.getItemMeta();
                ZombiePM.setDisplayName("§aZombie §6Pigman");
    
                //Creeper
               
                ItemStack Creeper = new ItemStack(Material.MONSTER_EGG, 1 ,(short)50);
                ItemMeta CreeperM = Creeper.getItemMeta();
                CreeperM.setDisplayName("§cCreeper");
               
                //DorfBewohner
               
                ItemStack DorfB = new ItemStack(Material.MONSTER_EGG, 1,(short)120);
                ItemMeta DorfBM = DorfB.getItemMeta();
                DorfBM.setDisplayName("Dorfbewohner");
               
                //Hexe
               
                ItemStack Hexe = new ItemStack(Material.MONSTER_EGG, 1,(short)66);
                ItemMeta HexeM = Hexe.getItemMeta();
                HexeM.setDisplayName("§5H§0e§5x§0e");
               
                //Guardian
               
                ItemStack Guardian = new ItemStack(Material.MONSTER_EGG, 1,(short)68);
                ItemMeta GuardianM = Guardian.getItemMeta();
                GuardianM.setDisplayName("§6G§3u§6a§3r§6d§4i§6a§6n");
                Guardian.setItemMeta(GuardianM);
               
                //EnderMan
               
                ItemStack Enderman = new ItemStack(Material.MONSTER_EGG, 1,(short)58);
                ItemMeta EndermanM = Enderman.getItemMeta();
                EndermanM.setDisplayName("§0Enderman");
                Enderman.setItemMeta(EndermanM);
    
                //Höhlen Sinne
               
                ItemStack HSpinne = new ItemStack(Material.MONSTER_EGG,1 ,(short)59);
                ItemMeta HSpinneM = HSpinne.getItemMeta();
                HSpinneM.setDisplayName("§4H§9ö§4l§9e§4n S§9p§4i§9n§4n§9e");
                HSpinne.setItemMeta(HSpinneM);
                // ChatColor.GOLD + ""
                //Blaze
               
                ItemStack Blaze = new ItemStack(Material.MONSTER_EGG, 1, (short) 61);
                ItemMeta BlazeM = Blaze.getItemMeta();
                BlazeM.setDisplayName("§6Blaze");
                Blaze.setItemMeta(BlazeM);
               
               
                //Silverfisch
               
                ItemStack SilverF = new ItemStack(Material.MONSTER_EGG,1 ,(short)60);
                ItemMeta SilverFM = SilverF.getItemMeta();
                SilverFM.setDisplayName("§7Silver Fisch");
                SilverF.setItemMeta(SilverFM);
               
                //Endermite
               
                ItemStack EnderMite = new ItemStack(Material.MONSTER_EGG,1 ,(short)67);
                ItemMeta EnderMiteM = EnderMite.getItemMeta();
                EnderMiteM.setDisplayName("§0Endermite");
                EnderMite.setItemMeta(EnderMiteM);
               
                //Einfügung der Platze im GUI
                PETSGUI.setItem(1, Barrier);
                PETSGUI.setItem(2, Schwein);
                PETSGUI.setItem(3, Schaf);
                PETSGUI.setItem(4, Kuh);
                PETSGUI.setItem(5, PilzK);
                PETSGUI.setItem(6, Huhn);
                PETSGUI.setItem(7, Wolf);
                PETSGUI.setItem(8, Katze);
                PETSGUI.setItem(9, Hase);
                PETSGUI.setItem(10, Pferd);
                PETSGUI.setItem(11, FlederMa);
                PETSGUI.setItem(12, Tinten);
                PETSGUI.setItem(13, MagmaS);
                PETSGUI.setItem(14, Schleim);
                PETSGUI.setItem(15, Skelett);
                PETSGUI.setItem(16, Spinne);
                PETSGUI.setItem(17, Zombie);
                PETSGUI.setItem(18, ZombieP);
                PETSGUI.setItem(19, Creeper);
                PETSGUI.setItem(20, DorfB);
                PETSGUI.setItem(21, Hexe);
                PETSGUI.setItem(22, Guardian);
                PETSGUI.setItem(23, Enderman);
                PETSGUI.setItem(24, HSpinne);
                PETSGUI.setItem(25, Blaze);
                PETSGUI.setItem(26, SilverF);
                PETSGUI.setItem(27, EnderMite);
           
           }
           //Das was passiert wenn jemand Draufklickt
            @EventHandler
            public void onInventoryClick(InventoryClickEvent e) {
                Player player = (Player) e.getWhoClicked();
                if (!e.getInventory().getName().equalsIgnoreCase(PETSGUI.getName())) return;
                if (e.getCurrentItem().getItemMeta() == null) return;
               
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§4Zurück")){
                    player.sendMessage( Main.prefix + " Du hast das Inventar geschlossen");       
                    e.getWhoClicked().closeInventory();
                    e.setCancelled(true);
                    player.closeInventory();
                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§dSchwein")){
                   
                    new Pet().createPet(player, EntityType.PIG);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);
               
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("Schaf")){
                   
                    new Pet().createPet(player, EntityType.SHEEP);
                    e.getWhoClicked().closeInventory();
                    e.setCancelled(true);
                           
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§0K§fu§0h")){
                   
                    new Pet().createPet(player, EntityType.COW);
                    e.getWhoClicked().closeInventory();
                    e.setCancelled(true);
                           
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§4P§8i§4l§8z§4-§8K§4u§8h")){
                   
                    new Pet().createPet(player, EntityType.MUSHROOM_COW);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);
                               
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§4P§8i§4l§8z§4-§8K§4u§8h")){
                   
                    new Pet().createPet(player, EntityType.MUSHROOM_COW);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);               
                   
                    if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("Huhn")){
                   
                    new Pet().createPet(player, EntityType.CHICKEN);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§7Wolf")){
                   
                    new Pet().createPet(player, EntityType.WOLF);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6K&0a§6t§0z§6e")){
                   
                    new Pet().createPet(player, EntityType.OCELOT);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("Hase")){
                   
                    new Pet().createPet(player, EntityType.RABBIT);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§0Pferd")){
                   
                    new Pet().createPet(player, EntityType.HORSE);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§0Fleder Maus")){
                   
                    new Pet().createPet(player, EntityType.BAT);
                    e.getWhoClicked().closeInventory();
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§bTinten Fisch")){
                   
                    new Pet().createPet(player, EntityType.SQUID);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6M§0a§6g§0m§6a S§0c§6h§0l§6e§0i§6m")){
                   
                    new Pet().createPet(player, EntityType.MAGMA_CUBE);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aSchleim")){
                   
                    new Pet().createPet(player, EntityType.SLIME);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§7Skelett")){
                   
                    new Pet().createPet(player, EntityType.SKELETON);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§0Spinne")){
                   
                    new Pet().createPet(player, EntityType.SPIDER);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aZombie")){
                   
                    new Pet().createPet(player, EntityType.ZOMBIE);
                    e.getWhoClicked().closeInventory();
                    e.setCancelled(true);
                                                                                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aZombie §6Pigman")){
                   
                    new Pet().createPet(player, EntityType.PIG_ZOMBIE);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cCreeper")){
                   
                    new Pet().createPet(player, EntityType.CREEPER);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("Dorfbewohner")){
                   
                    new Pet().createPet(player, EntityType.VILLAGER);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6H§0e§6x§0e")){
                   
                    new Pet().createPet(player, EntityType.WITCH);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6G§3u§6a§3r§6d§4i§6a§6n")){
                   
                    new Pet().createPet(player, EntityType.GUARDIAN);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§0Enderman")){
                   
                    new Pet().createPet(player, EntityType.ENDERMAN);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6Blaze")){
                   
                    new Pet().createPet(player, EntityType.BLAZE);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);                   
                   
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§7Silver Fisch")){
                   
                    new Pet().createPet(player, EntityType.SILVERFISH);
                    e.getWhoClicked().closeInventory();
                    e.setCancelled(true);
                                                                                                               
                if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§0Endermite")){
                   
                    new Pet().createPet(player, EntityType.ENDERMITE);
                    e.getWhoClicked().closeInventory();   
                    e.setCancelled(true);
                                                                                                                   
        }
        }
                                                                                                           
        }
        }
        }
                                                                                               
                                                                                            }
                                                                                        }
                                                                                       
                                                                                    }
                                                                                           
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                           
                                                    }
                                                           
                                                }
                                                   
                                            }
                                        }
                                    }
                                }
                                       
                            }
                        }
                    }
                }
            }   
        }
        }
           
           
        }
    [B][B]
    Consol Log/Warning:
    Code:
    [/B]
    [13:46:16] [Server thread/INFO]: [Pet] Enabling Pet v1.0
    [13:46:16] [Server thread/INFO]: [Pet] §8[§6MarsCraft§8]Plugin Aktiviert
    [13:46:16] [Server thread/ERROR]: Error occurred while enabling Pet v1.0 (Is it up to date?)
    java.lang.ExceptionInInitializerError
        at de.Prex.Pet.Main.regiserListeners(Main.java:39) ~[?:?]
        at de.Prex.Pet.Main.onEnable(Main.java:23) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[craftbukkit.jar:git-Spigot-13716d9-0899683]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:355) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:315) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:402) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:370) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:325) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:211) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:494) [craftbukkit.jar:git-Spigot-13716d9-0899683]
        at java.lang.Thread.run(Unknown Source) [?:1.7.0_65]
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 27
        at org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventoryCustom$MinecraftInventory.setItem(CraftInventoryCustom.java:105) ~[craftbukkit.jar:git-Spigot-13716d9-0899683]
        at org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory.setItem(CraftInventory.java:81) ~[craftbukkit.jar:git-Spigot-13716d9-0899683]
        at de.Prex.Pet.GUI.<clinit>(GUI.java:219) ~[?:?]
        ... 13 more
    
    

    Well thats the Code/Log
    Please help me

    Sorry for my bad English im acctually German :3
     
  2. Moved to Bukkit Alternates.
     
  3. Offline

    Prex

    @bwfcwalshy Well since it says in your "slogan" that I sould tag you if I need help, could you help me? :3
     
  4. Offline

    BizarrePlatinum

    @Prex
    After searching through for a few minutes, I finally found the issue. You are getting an array out of index error due to where you're setting the items for each slot in the inventory. You need to start at 0, and end at 26 (programmers start counting at 0), therefore 27 is out of the bounds set. Simple just go through and set the slot numbers 1 less than it already is and it should fix the error.
     
  5. Offline

    Prex

    @BizarrePlatinum
    Hey, thank you 4 your help, I got it fixed :3
    You made my Day!
     
Thread Status:
Not open for further replies.

Share This Page