Why Doesn't This Work

Discussion in 'Plugin Development' started by KoolzSkillz, Aug 11, 2014.

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

    KoolzSkillz

    It Was Meant to be a simple, you click a stick and a GUI pops up but, None of the Events in it are working. Any Ideas

    That is My Only Class
    Code:
    package Test;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.PlayerInventory;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class Test extends JavaPlugin implements Listener {
     
        public void OnEnable() {
            getServer().getPluginManager().registerEvents(this, this);
        }
     
        private void openGUI(Player player) {
            Inventory inv = Bukkit.createInventory(null, 9, ChatColor.DARK_GREEN
                    + "Server Selector");
     
            ItemStack survival = new ItemStack(Material.DIAMOND_CHESTPLATE);
            ItemMeta survivalMeta = survival.getItemMeta();
     
            ItemStack creative = new ItemStack(Material.DIAMOND_CHESTPLATE);
            ItemMeta creativeMeta = creative.getItemMeta();
     
            survivalMeta.setDisplayName(ChatColor.DARK_RED + "Survival");
            survival.setItemMeta(survivalMeta);
     
            creativeMeta.setDisplayName(ChatColor.GREEN + "Creative");
            creative.setItemMeta(creativeMeta);
     
            inv.setItem(3, survival);
            inv.setItem(5, creative);
     
            player.openInventory(inv);
        }
     
        @EventHandler
        public void onInventoryClick(InventoryClickEvent event) {
            if (!ChatColor.stripColor(event.getInventory().getName())
                    .equalsIgnoreCase("Server Selector"))
                return;
            Player player = (Player) event.getWhoClicked();
            event.setCancelled(true);
     
            if (event.getCurrentItem() == null
                    || event.getCurrentItem().getType() == Material.AIR
                    || !event.getCurrentItem().hasItemMeta()) {
                player.closeInventory();
                return;
            }
           
            switch(event.getCurrentItem().getType()) {
            case DIAMOND_CHESTPLATE:
                player.closeInventory();
                player.sendMessage("Diamond Chest Msg Sent");
                break;
            case GRASS:
                player.closeInventory();
                player.sendMessage("Grass Msg Sent");
                break;
               
                default:
                    player.closeInventory();
                    break;
            }
        }
     
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent event) {
            event.getPlayer().getInventory()
                    .addItem(new ItemStack(Material.STICK));
     
        }
     
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent event) {
            Action a = event.getAction();
            ItemStack is = event.getItem();
     
            if (a == Action.PHYSICAL || is == null || is.getType() == Material.AIR)
                return;
     
            if (is.getType() == Material.STICK)
                openGUI(event.getPlayer());
     
        }
    }

    Here Is My Plugin YML


    Code:
    name: Test
     
    main: Test.Test
     
    version: 1.4
     
    commands:
    Thank anyone that tries to help :)
     
  2. KoolzSkillz Any errors? Please debug your code and find out which parts aren't executing.

    EDIT: Why do you have an empty commands section?
     
  3. Offline

    KoolzSkillz

    AdamQpzm
    I copied the plugin.yml from my last project that had commands

    I debugged it and tried again, still none of the events running.
     
  4. KoolzSkillz Can I see code with debug attempts please?
     
  5. Offline

    KoolzSkillz

    Thats what you want me to send. i think AdamQpzm

    Code:
    package Test;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class Test extends JavaPlugin implements Listener {
     
        public void OnEnable() {
            getServer().getPluginManager().registerEvents(this, this);
        }
     
        private void openGUI(Player player) {
            Inventory inv = Bukkit.createInventory(null, 9, ChatColor.DARK_GREEN
                    + "Server Selector");
     
            ItemStack survival = new ItemStack(Material.DIAMOND_CHESTPLATE);
            ItemMeta survivalMeta = survival.getItemMeta();
     
            ItemStack creative = new ItemStack(Material.DIAMOND_CHESTPLATE);
            ItemMeta creativeMeta = creative.getItemMeta();
     
            survivalMeta.setDisplayName(ChatColor.DARK_RED + "Survival");
            survival.setItemMeta(survivalMeta);
     
            creativeMeta.setDisplayName(ChatColor.GREEN + "Creative");
            creative.setItemMeta(creativeMeta);
     
            inv.setItem(3, survival);
            inv.setItem(5, creative);
     
            player.openInventory(inv);
        }
     
        @EventHandler
        public void onInventoryClick(InventoryClickEvent event) {
            if (!ChatColor.stripColor(event.getInventory().getName())
                    .equalsIgnoreCase("Server Selector"))
                return;
            Player player = (Player) event.getWhoClicked();
            event.setCancelled(true);
     
            if (event.getCurrentItem() == null
                    || event.getCurrentItem().getType() == Material.AIR
                    || !event.getCurrentItem().hasItemMeta()) {
                player.closeInventory();
                return;
            }
     
            switch (event.getCurrentItem().getType()) {
            case DIAMOND_CHESTPLATE:
                player.closeInventory();
                player.sendMessage("Diamond Chest Msg Sent");
                break;
            case GRASS:
                player.closeInventory();
                player.sendMessage("Grass Msg Sent");
                break;
     
            default:
                player.closeInventory();
                break;
            }
        }
     
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent event) {
            event.getPlayer().getInventory().addItem(new ItemStack(Material.STICK));
     
        }
     
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent event) {
            Action a = event.getAction();
            ItemStack is = event.getItem();
     
            if (a == Action.PHYSICAL || is == null || is.getType() == Material.AIR)
                return;
     
            if (is.getType() == Material.STICK)
                openGUI(event.getPlayer());
     
        }
    }
     
  6. KoolzSkillz I don't actually see any difference... Try running this and tell me what numbers print when you right click with a stick in hand

    Code:
    package Test;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class Test extends JavaPlugin implements Listener {
     
        public void OnEnable() {
            getServer().getPluginManager().registerEvents(this, this);
        }
     
        private void openGUI(Player player) {
            System.out.println(4);
            Inventory inv = Bukkit.createInventory(null, 9, ChatColor.DARK_GREEN
                    + "Server Selector");
     
            ItemStack survival = new ItemStack(Material.DIAMOND_CHESTPLATE);
            ItemMeta survivalMeta = survival.getItemMeta();
     
            ItemStack creative = new ItemStack(Material.DIAMOND_CHESTPLATE);
            ItemMeta creativeMeta = creative.getItemMeta();
     
            survivalMeta.setDisplayName(ChatColor.DARK_RED + "Survival");
            survival.setItemMeta(survivalMeta);
     
            creativeMeta.setDisplayName(ChatColor.GREEN + "Creative");
            creative.setItemMeta(creativeMeta);
     
            inv.setItem(3, survival);
            inv.setItem(5, creative);
     
            player.openInventory(inv);
        }
     
        @EventHandler
        public void onInventoryClick(InventoryClickEvent event) {
            if (!ChatColor.stripColor(event.getInventory().getName())
                    .equalsIgnoreCase("Server Selector"))
                return;
            Player player = (Player) event.getWhoClicked();
            event.setCancelled(true);
     
            if (event.getCurrentItem() == null
                    || event.getCurrentItem().getType() == Material.AIR
                    || !event.getCurrentItem().hasItemMeta()) {
                player.closeInventory();
                return;
            }
     
            switch (event.getCurrentItem().getType()) {
            case DIAMOND_CHESTPLATE:
                player.closeInventory();
                player.sendMessage("Diamond Chest Msg Sent");
                break;
            case GRASS:
                player.closeInventory();
                player.sendMessage("Grass Msg Sent");
                break;
     
            default:
                player.closeInventory();
                break;
            }
        }
     
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent event) {
            event.getPlayer().getInventory().addItem(new ItemStack(Material.STICK));
     
        }
     
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent event) {
            System.out.println(1);
            Action a = event.getAction();
            ItemStack is = event.getItem();
     
            if (a == Action.PHYSICAL || is == null || is.getType() == Material.AIR)
                return;
            System.out.println(2);
     
            if (is.getType() == Material.STICK)
                openGUI(event.getPlayer());
            System.out.println(3);
     
        }
    }
     
  7. Offline

    KoolzSkillz

  8. Offline

    KoolzSkillz

    No and the only 2 plugins I'm running are this one and group manager. Would it be because I'm using 1.7.2
     
  9. Offline

    KaitouKidFTW

    KoolzSkillz On your if statement there is no open bracket.

    Code:
     if (is.getType() == Material.STICK)
     
  10. Offline

    xTigerRebornx

    AdamQpzm KoolzSkillz Your onEnable() is named 'OnEnable()', it should be 'onEnable()', case sensitive
     
    AdamQpzm and MCMastery like this.
  11. Offline

    teej107

  12. Offline

    winitro

    Did you put the right thing in the plugin.yml?

    O :p I see you did my bad disregard the last comment :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
Thread Status:
Not open for further replies.

Share This Page