Solved Error

Discussion in 'Plugin Help/Development/Requests' started by bronzzze, Feb 24, 2015.

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

    bronzzze

    Anyone knows what is wrong there. I am new at this so please help me.
    It was all working fine when i had all this in one class so I decide to make more classes and I dont know what is wrong.


    Main class:
    Code:
    package me.bronzzze.wardrobe;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.ConsoleCommandSender;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin{
     
    
    
        public Main main;
     
     
        @Override
        public void onEnable() {
         
            this.getCommand("wardrobe").setExecutor(new Commands(this));
            Bukkit.getServer().getPluginManager().registerEvents(new Events(this), this);
            ConsoleCommandSender console = Bukkit.getServer().getConsoleSender();     
            console.sendMessage(ChatColor.RED + "-------------------------");
            console.sendMessage(ChatColor.BLUE + "Wardrobe Plugin enabled");
            console.sendMessage(ChatColor.RED + "-------------------------");
            getConfig();
            getConfig().options().copyDefaults(true);
            saveConfig();
         
         
    
    }
     
        public String prefix = ChatColor.translateAlternateColorCodes('&', getConfig()
                .getString("Chat Wardrobe Prefix"));
    }

    Event class:
    Code:
    package me.bronzzze.wardrobe;
    
    import org.bukkit.ChatColor;
    import org.bukkit.Color;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    import org.bukkit.configuration.MemorySection;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.inventory.InventoryType.SlotType;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.LeatherArmorMeta;
    
    public class Events implements Listener{
     
     
        private final Main main;
    
        public Events(Main main) {
            this.main = main;
    
        }
    
    
     
    
        @EventHandler
        public void onClick(InventoryClickEvent e) {
            final Player p = (Player) e.getWhoClicked();
         
     
    
     
        if(e.getSlotType() == SlotType.ARMOR) {
            e.setCancelled(true);
        }
            if (e.getInventory()
                    .getName()
                    .equalsIgnoreCase(
                            ChatColor.translateAlternateColorCodes('&', main.getConfig()
                                    .getString("Main GUI name")))) {
                if (e.getCurrentItem() == null) {
                    return;
    
                }
                e.setCancelled(true);
                if (e.getCurrentItem().getItemMeta().getDisplayName().contains(
                                "" + ChatColor.LIGHT_PURPLE + ChatColor.BOLD
                                        + "Armour Selector")) {
                    p.getLocation().getWorld()
                            .playSound(p.getLocation(), Sound.CHEST_OPEN, 2, 1);
                    p.closeInventory();
                    ArmourGUI.openInventory(p);
                 
                 
                }
             
                if (e.getCurrentItem()
                        .getItemMeta()
                        .getDisplayName()
                        .contains("" + ChatColor.GOLD + ChatColor.BOLD
                                + "Hat Selector")) {
                    p.getLocation().getWorld()
                            .playSound(p.getLocation(), Sound.CHEST_OPEN, 2, 1);
                    p.closeInventory();
                    HatGUI.openInventory2(p);
    
         
        }
             
                if (e.getCurrentItem()
                        .getItemMeta()
                        .getDisplayName()
                        .contains("" + ChatColor.DARK_RED + ChatColor.BOLD
                                + "Clear Armour")) {
                    p.getInventory().setHelmet(null);
                    p.getInventory().setChestplate(null);
                    p.getInventory().setLeggings(null);
                    p.getInventory().setBoots(null);
                    p.getLocation().getWorld()
                            .playSound(p.getLocation(), Sound.SHOOT_ARROW, 5, 1);
                    p.closeInventory();
                    p.sendMessage(main.prefix + ChatColor.translateAlternateColorCodes('&', main.getConfig()
                            .getString("Message when you clear Armour")));
            }
            }
             
                if (e.getInventory()
                        .getName()
                        .equalsIgnoreCase(
                                ChatColor.translateAlternateColorCodes('&', main.getConfig()
                                        .getString("Armour GUI name")))) {
                    if (e.getCurrentItem() == null) {
                        return;
                    }
             
                        e.setCancelled(true);
                        if(e.getCurrentItem().getItemMeta().getDisplayName().contains("" + ChatColor.YELLOW + ChatColor.BOLD
                    + "Yellow Helmet")){
                            ItemStack item1 = new ItemStack(Material.LEATHER_HELMET, 1);
                            item1.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
                            LeatherArmorMeta itemM1 = (LeatherArmorMeta) item1.getItemMeta();
                            itemM1.setDisplayName("" + ChatColor.YELLOW + ChatColor.BOLD
                                    + "Yellow Helmet");
                            itemM1.setColor(Color.YELLOW);
                            item1.setItemMeta(itemM1);
                            p.getInventory().setHelmet(item1);
                            p.closeInventory();
                         
                        }
                     
                        if(e.getCurrentItem().getItemMeta().getDisplayName().contains("" + ChatColor.LIGHT_PURPLE + ChatColor.BOLD
                    + "Pink Helmet")){
                            ItemStack item1 = new ItemStack(Material.LEATHER_HELMET, 1);
                            item1.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
                            LeatherArmorMeta itemM1 = (LeatherArmorMeta) item1.getItemMeta();
                            itemM1.setDisplayName("" + ChatColor.LIGHT_PURPLE + ChatColor.BOLD
                                    + "Pink Helmet");
                            itemM1.setColor(Color.FUCHSIA);
                            item1.setItemMeta(itemM1);
                            p.getInventory().setHelmet(item1);
                            p.closeInventory();
                     
             
        }
                        if(e.getCurrentItem().getItemMeta().getDisplayName().contains("" + ChatColor.DARK_RED + ChatColor.BOLD
                    + "Red Helmet")){
                            ItemStack item1 = new ItemStack(Material.LEATHER_HELMET, 1);
                            item1.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
                            LeatherArmorMeta itemM1 = (LeatherArmorMeta) item1.getItemMeta();
                            itemM1.setDisplayName("" + ChatColor.DARK_RED + ChatColor.BOLD
                                    + "Red Helmet");
                            itemM1.setColor(Color.RED);
                            item1.setItemMeta(itemM1);
                            p.getInventory().setHelmet(item1);
                            p.closeInventory();
                        }
                }
         
        }
    
    
    
    
     
    
    
    }
    
    Command Class:
    Code:
    package me.bronzzze.wardrobe;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    
    public class Commands implements CommandExecutor{
     
        private Main main;
     
        public Commands(Main main){
            this.main = main;         
         
         
     
        }
     
    
     
     
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
         
            Player p = (Player) sender;
            if(label.equalsIgnoreCase("wardrobe")){
    
         
            p.sendMessage(ChatColor.YELLOW + "Working");
            MainGUI.openInventory1(p);
            }
         
         
            return false;
    
        }
    
    }
    





    MainGUI:
    Code:
    package me.bronzzze.wardrobe;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Color;
    import org.bukkit.Material;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.inventory.meta.LeatherArmorMeta;
    
    public class MainGUI {
        private static Main main;
     
        public MainGUI(Main main){
            this.main = main; 
     
        }
     
     
    
        public static void openInventory1(Player p) {
            Inventory inv1 = Bukkit.getServer().createInventory(
                    null,
                    9,
                    ChatColor.translateAlternateColorCodes('&', main.getConfig()
                            .getString("Main GUI name")));
    
            ItemStack main1 = new ItemStack(Material.LEATHER_CHESTPLATE, 1);
            main1.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
            LeatherArmorMeta mainM1 = (LeatherArmorMeta) main1.getItemMeta();
         
            mainM1.setDisplayName("" + ChatColor.LIGHT_PURPLE + ChatColor.BOLD
                    + "Armour Selector");
            List<String> lore1 = new ArrayList<String>();
            lore1.add(ChatColor.LIGHT_PURPLE + "*-*-*-*-*-*-*-*-*-*-*-*-*");
            lore1.add(ChatColor.LIGHT_PURPLE + "Click to select Armour!");
            lore1.add(ChatColor.LIGHT_PURPLE + "*-*-*-*-*-*-*-*-*-*-*-*-*");
            mainM1.setLore(lore1);
            main1.setItemMeta(mainM1);
    
            ItemStack main2 = new ItemStack(Material.LEATHER_CHESTPLATE, 1);
            main2.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
            LeatherArmorMeta mainM2 = (LeatherArmorMeta) main2.getItemMeta();
            mainM2.setDisplayName("" + ChatColor.AQUA + ChatColor.BOLD
                    + "Disco Armour");
            List<String> lore2 = new ArrayList<String>();
            lore2.add(ChatColor.AQUA + "*-*-*-*-*-*-*-*-*");
            lore2.add(ChatColor.AQUA + "Click to equip!");
            lore2.add(ChatColor.AQUA + "*-*-*-*-*-*-*-*-*");
            mainM2.setLore(lore2);
            mainM2.setColor(Color.BLACK);
            main2.setItemMeta(mainM2);
    
            ItemStack main3 = new ItemStack(Material.SKULL_ITEM, 1);
            ItemMeta mainM3 = main3.getItemMeta();
            mainM3.setDisplayName("" + ChatColor.GOLD + ChatColor.BOLD
                    + "Hat Selector");
            List<String> lore3 = new ArrayList<String>();
            lore3.add(ChatColor.GOLD + "*-*-*-*-*-*-*-*-*-*-*");
            lore3.add(ChatColor.GOLD + "Click to select Hat!");
            lore3.add(ChatColor.GOLD + "*-*-*-*-*-*-*-*-*-*-*");
            mainM3.setLore(lore3);
            main3.setItemMeta(mainM3);
    
            ItemStack main4 = new ItemStack(Material.LAVA_BUCKET, 1);
            ItemMeta mainM4 = main4.getItemMeta();
            mainM4.setDisplayName("" + ChatColor.DARK_RED + ChatColor.BOLD
                    + "Clear Armour");
            List<String> lore4 = new ArrayList<String>();
            lore4.add(ChatColor.RED + "*-*-*-*-*-*-*-*-*-*-*-*-*");
            lore4.add(ChatColor.RED + "Click to remove Aromour!");
            lore4.add(ChatColor.RED + "*-*-*-*-*-*-*-*-*-*-*-*-*");
            mainM4.setLore(lore4);
            main4.setItemMeta(mainM4);
    
            inv1.setItem(1, main1);
            inv1.setItem(3, main2);
            inv1.setItem(5, main3);
            inv1.setItem(7, main4);
    
            p.openInventory(inv1);
        }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     
    
    }
    
    ArmourGUI class:
    http://pastebin.com/9wz8uwFx

    HeadGUI class:
    Code:
    package me.bronzzze.wardrobe;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    
    public class HatGUI {
     
        private static Main main;
    
        public HatGUI(Main main) {
            this.main = main;
         
        }
     
        public static void openInventory2(Player p) {
            Inventory inv2 = Bukkit.getServer().createInventory(
                    null,
                    27,
                    ChatColor.translateAlternateColorCodes('&', main.getConfig()
                            .getString("Head GUI name")));
            List<String> l = new ArrayList<String>();
            ItemStack head1 = new ItemStack(Material.ENCHANTMENT_TABLE);
            ItemMeta headm1 = head1.getItemMeta();
            l.add(ChatColor.GOLD + "Click to Equip!");
            headm1.setLore(l);
            head1.setItemMeta(headm1);
         
            ItemStack head2 = new ItemStack(Material.MOB_SPAWNER);
            List<String> l2 = new ArrayList<String>();
            ItemMeta headm2 = head2.getItemMeta();
            l2.add(ChatColor.GOLD + "Click to Equip!");
            headm2.setLore(l2);
            head2.setItemMeta(headm2);
         
            ItemStack head3 = new ItemStack(Material.BRICK_STAIRS);
            List<String> l3 = new ArrayList<String>();
            ItemMeta headm3 = head3.getItemMeta();
            l3.add(ChatColor.GOLD + "Click to Equip!");
            headm3.setLore(l3);
            head3.setItemMeta(headm3);
         
            ItemStack head4 = new ItemStack(Material.CACTUS);
            List<String> l4 = new ArrayList<String>();
            ItemMeta headm4 = head4.getItemMeta();
            l4.add(ChatColor.GOLD + "Click to Equip!");
            headm4.setLore(l4);
            head4.setItemMeta(headm4);
         
            ItemStack head5 = new ItemStack(Material.STAINED_GLASS);
            List<String> l5 = new ArrayList<String>();
            ItemMeta headm5 = head5.getItemMeta();
            l5.add(ChatColor.GOLD + "Click to Equip!");
            headm5.setLore(l5);
            head5.setItemMeta(headm5);
         
            ItemStack head6 = new ItemStack(Material.BEACON);
            List<String> l6 = new ArrayList<String>();
            ItemMeta headm6 = head6.getItemMeta();
            l6.add(ChatColor.GOLD + "Click to Equip!");
            headm6.setLore(l6);
            head6.setItemMeta(headm6);
         
            ItemStack head7 = new ItemStack(Material.PUMPKIN);
            List<String> l7 = new ArrayList<String>();
            ItemMeta headm7 = head7.getItemMeta();
            l7.add(ChatColor.GOLD + "Click to Equip!");
            headm7.setLore(l7);
            head7.setItemMeta(headm7);
         
            ItemStack head8 = new ItemStack(Material.LEAVES);
            List<String> l8 = new ArrayList<String>();
            ItemMeta headm8 = head8.getItemMeta();
            l8.add(ChatColor.GOLD + "Click to Equip!");
            headm8.setLore(l8);
            head8.setItemMeta(headm8);
         
            ItemStack head9 = new ItemStack(Material.ICE);
            List<String> l9 = new ArrayList<String>();
            ItemMeta headm9 = head9.getItemMeta();
            l9.add(ChatColor.GOLD + "Click to Equip!");
            headm9.setLore(l9);
            head9.setItemMeta(headm9);
         
            ItemStack head10 = new ItemStack(Material.ENDER_CHEST);
            List<String> l11 = new ArrayList<String>();
            ItemMeta headm10 = head10.getItemMeta();
            l11.add(ChatColor.GOLD + "Click to Equip!");
            headm10.setLore(l11);
            head10.setItemMeta(headm10);
         
            ItemStack head11 = new ItemStack(Material.BEDROCK);
            List<String> l12 = new ArrayList<String>();
            ItemMeta headm11 = head11.getItemMeta();
            l12.add(ChatColor.GOLD + "Click to Equip!");
            headm11.setLore(l12);
            head11.setItemMeta(headm11);
         
            ItemStack head12 = new ItemStack(Material.DIAMOND_BLOCK);
            List<String> l13 = new ArrayList<String>();
            ItemMeta headm12 = head12.getItemMeta();
            l13.add(ChatColor.GOLD + "Click to Equip!");
            headm12.setLore(l13);
            head12.setItemMeta(headm12);
         
            ItemStack head13 = new ItemStack(Material.PACKED_ICE);
            List<String> l14 = new ArrayList<String>();
            ItemMeta headm13 = head13.getItemMeta();
            l14.add(ChatColor.GOLD + "Click to Equip!");
            headm13.setLore(l14);
            head13.setItemMeta(headm13);
         
            ItemStack head14 = new ItemStack(Material.TNT);
            List<String> l15 = new ArrayList<String>();
            ItemMeta headm14 = head14.getItemMeta();
            l15.add(ChatColor.GOLD + "Click to Equip!");
            headm14.setLore(l15);
            head14.setItemMeta(headm14);
         
            ItemStack head15 = new ItemStack(Material.CHEST);
            List<String> l16 = new ArrayList<String>();
            ItemMeta headm15 = head15.getItemMeta();
            l16.add(ChatColor.GOLD + "Click to Equip!");
            headm15.setLore(l16);
            head15.setItemMeta(headm15);
         
            inv2.setItem(0, head1);
            inv2.setItem(1, head2);
            inv2.setItem(2, head3);
            inv2.setItem(3, head4);
            inv2.setItem(4, head5);
            inv2.setItem(5, head6);
            inv2.setItem(6, head7);
            inv2.setItem(7, head8);
            inv2.setItem(8, head9);
            inv2.setItem(9, head10);
            inv2.setItem(10, head11);
            inv2.setItem(11, head12);
            inv2.setItem(12, head13);
            inv2.setItem(13, head14);
            inv2.setItem(14, head15);
         
            p.openInventory(inv2);
         
        }
    
    
    }
    


    Error
    I know this is wrong
    Code:
      MainGUI.openInventory1(p);
    But i dont know how to link GUI class with Command

    bump

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
  2. Offline

    EnveRuleZZ

    Why don't you create an instance?
    Then you can access voids from other classes.

    In the class where all your methods are

    Code:
    private ClassName() { }
     
        private static ClassName instance = new ClassName();
     
        public static ClassName getInstance() {
            return instance;
        }
    
    And in the class you want to access the methods:

    Code:
    ClassName i = ClassName.getInstance();
    For example:

    Code:
    i.openInventory(p);
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
  3. Offline

    teej107

  4. Offline

    bronzzze

    Ty so much. I forgot about instance. Ty.
     
Thread Status:
Not open for further replies.

Share This Page