GUI Not Opening On Right-Click

Discussion in 'Plugin Development' started by jrobi230, Dec 24, 2013.

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

    jrobi230

    My Gui that i have created wont open up please have a look and see if you can tell me what i've done wrong.
    Code:java
    1. package me.jrobi.StaffMenu;
    2.  
    3. import org.bukkit.Material;
    4. import org.bukkit.event.EventHandler;
    5. import org.bukkit.event.Listener;
    6. import org.bukkit.event.block.Action;
    7. import org.bukkit.event.player.PlayerInteractEvent;
    8.  
    9. public class WandListener implements Listener {
    10.  
    11. private StaffMenu menu; {
    12. menu = new StaffMenu();
    13. }
    14.  
    15. @EventHandler
    16. public void onPlayerInteract(PlayerInteractEvent event) {
    17. if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK);
    18. if (event.getPlayer().getItemInHand().getType() == Material.PAPER);
    19. menu.show(event.getPlayer());
    20. }
    21.  
    22. }
    23.  


    That's My Wand Listener class so when My wand gets Right Clicked It Open GUI but its not working atm :(

    Code:java
    1. package me.jrobi.StaffMenu;
    2.  
    3. import java.util.Arrays;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.ChatColor;
    7. import org.bukkit.GameMode;
    8. import org.bukkit.Material;
    9. import org.bukkit.World;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.inventory.InventoryClickEvent;
    14. import org.bukkit.event.inventory.InventoryType;
    15. import org.bukkit.inventory.Inventory;
    16. import org.bukkit.inventory.ItemStack;
    17. import org.bukkit.inventory.meta.ItemMeta;
    18. import org.bukkit.material.Wool;
    19. import org.bukkit.plugin.Plugin;
    20.  
    21. public class EventListener implements Listener {
    22.  
    23. public StaffMenu menu;
    24.  
    25. private static Inventory inv;
    26. private static Inventory einv;
    27. private ItemStack c, s, d, n, r, ss, w, e, et;
    28.  
    29. public void StaffMenu(Plugin plugin) {
    30. inv = Bukkit.getServer().createInventory(null, 9, ChatColor.DARK_BLUE + "Staff Menu");
    31. einv = Bukkit.getServer().createInventory(null, InventoryType.ENDER_CHEST);
    32.  
    33. c = createItem(Material.SLIME_BALL, ChatColor.GOLD + "" + ChatColor.BOLD + "Creative");
    34. s = createItem(Material.SLIME_BALL, ChatColor.GOLD + "" + ChatColor.BOLD + "Survival");
    35. d = createItem2(Material.WATCH, ChatColor.GOLD + "" + ChatColor.BOLD + "Day");
    36. n = createItem2(Material.WATCH, ChatColor.GOLD + "" + ChatColor.BOLD + "Night");
    37. ss = createItem3(Material.FIRE, ChatColor.GOLD + "" + ChatColor.BOLD + "Sun");
    38. r = createItem3(Material.FIRE, ChatColor.GOLD + "" + ChatColor.BOLD + "Storm");
    39. w = createItem4(Material.WORKBENCH, ChatColor.GOLD + "" + ChatColor.BOLD + "Workbench");
    40. e = createItem5(Material.ENDER_CHEST, ChatColor.GOLD + "" + ChatColor.BOLD + "Enderchest");
    41. et = createItem6(Material.ENCHANTMENT_TABLE, ChatColor.GOLD + "" + ChatColor.BOLD + "Enchantment Table");
    42.  
    43. inv.setItem(0, c);
    44. inv.setItem(1, s);
    45. inv.setItem(2, d);
    46. inv.setItem(3, n);
    47. inv.setItem(4, ss);
    48. inv.setItem(5, r);
    49. inv.setItem(6, w);
    50. inv.setItem(7, e);
    51. inv.setItem(8, et);
    52.  
    53. Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
    54. }
    55. private ItemStack createItem(Material mt, String name) {
    56. ItemStack i = new Wool(mt).toItemStack(1);
    57. ItemMeta im = i.getItemMeta();
    58. im.setDisplayName(name);
    59. im.setLore(Arrays.asList("Set Your Gamemode", "To " + name.toUpperCase() + ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC + " Mode"));
    60. i.setItemMeta(im);
    61. return i;
    62.  
    63. }
    64.  
    65. private ItemStack createItem2(Material mt, String name) {
    66. ItemStack i = new Wool(mt).toItemStack(1);
    67. ItemMeta im = i.getItemMeta();
    68. im.setDisplayName(name);
    69. im.setLore(Arrays.asList("Change The Time To " + name.toUpperCase()));
    70. i.setItemMeta(im);
    71. return i;
    72.  
    73. }
    74.  
    75. private ItemStack createItem5(Material mt, String name) {
    76. ItemStack i = new Wool(mt).toItemStack(1);
    77. ItemMeta im = i.getItemMeta();
    78. im.setDisplayName(name);
    79. im.setLore(Arrays.asList("Your Very Own Handy, Portable EnderChest!"));
    80. i.setItemMeta(im);
    81. return i;
    82.  
    83. }
    84.  
    85. private ItemStack createItem4(Material mt, String name) {
    86. ItemStack i = new Wool(mt).toItemStack(1);
    87. ItemMeta im = i.getItemMeta();
    88. im.setDisplayName(name);
    89. im.setLore(Arrays.asList("Your Very Own Helpful, Portable WorkBench!"));
    90. i.setItemMeta(im);
    91. return i;
    92.  
    93. }
    94. private ItemStack createItem3(Material mt, String name) {
    95. ItemStack i = new Wool(mt).toItemStack(1);
    96. ItemMeta im = i.getItemMeta();
    97. im.setDisplayName(name);
    98. im.setLore(Arrays.asList("Change The Weather To " + name.toUpperCase()));
    99. i.setItemMeta(im);
    100. return i;
    101. }
    102. private ItemStack createItem6(Material mt, String name) {
    103. ItemStack i = new Wool(mt).toItemStack(1);
    104. ItemMeta im = i.getItemMeta();
    105. im.setDisplayName(name);
    106. im.setLore(Arrays.asList("Your Very Own Nifty, Portable Enchantment Table!"));
    107. i.setItemMeta(im);
    108. return i;
    109. }
    110. public void show(Player p) {
    111. p.openInventory(inv);
    112. }
    113.  
    114. @EventHandler
    115. public void onInventoryClick(InventoryClickEvent e){
    116. if (!e.getInventory().getName().equalsIgnoreCase(inv.getName())) return;
    117. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Creative")) {
    118. e.setCancelled(true);
    119. e.getWhoClicked().setGameMode(GameMode.CREATIVE);
    120. e.getWhoClicked().closeInventory();
    121. }
    122. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Survival")) {
    123. e.setCancelled(true);
    124. e.getWhoClicked().setGameMode(GameMode.SURVIVAL);
    125. e.getWhoClicked().closeInventory();
    126.  
    127. }
    128. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Day")) {
    129. e.setCancelled(true);
    130. World world = e.getWhoClicked().getWorld();
    131. world.setTime(0);
    132. e.getWhoClicked().closeInventory();
    133. }
    134. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Night")) {
    135. e.setCancelled(true);
    136. World world = e.getWhoClicked().getWorld();
    137. world.setTime(14000);
    138. e.getWhoClicked().closeInventory();
    139. }
    140. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Enderchest")) {
    141. e.setCancelled(true);
    142. e.getWhoClicked().openInventory(einv);
    143. }
    144. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Workbench")) {
    145. e.setCancelled(true);
    146. e.getWhoClicked().openWorkbench(null, true);
    147.  
    148. }
    149. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Sun")) {
    150. e.setCancelled(true);
    151. World world = e.getWhoClicked().getWorld();
    152. world.setStorm(false);
    153. e.getWhoClicked().closeInventory();
    154. }
    155. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Storm")) {
    156. e.setCancelled(true);
    157. World world = e.getWhoClicked().getWorld();
    158. world.setStorm(true);
    159. e.getWhoClicked().closeInventory();
    160. }
    161. if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Enchantment Table")) {
    162. e.setCancelled(true);
    163. e.getWhoClicked().openEnchanting(null, true);
    164. }
    165. }
    166. }
    167.  


    Thats it my like main Listener class.

    Code:java
    1. package me.jrobi.StaffMenu;
    2.  
    3. import java.io.File;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.configuration.file.FileConfiguration;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.Listener;
    9. import org.bukkit.plugin.Plugin;
    10. import org.bukkit.plugin.java.JavaPlugin;
    11.  
    12. public class StaffMenu extends JavaPlugin {
    13.  
    14. private static Plugin plugin;
    15.  
    16. FileConfiguration config;
    17. File cfile;
    18.  
    19. public void onEnable() {
    20. registerEvents(this, new EventListener());
    21. config = getConfig();
    22. config.options().copyDefaults(true);
    23. saveConfig();
    24. cfile = new File(getDataFolder(), "config.yml");
    25. plugin = this;
    26. getCommand("sthelp").setExecutor(new StaffMenuCommandExecutor());
    27. getCommand("stwand").setExecutor(new StaffMenuCommandExecutor());
    28. }
    29.  
    30. public void onDisable() {
    31. plugin = null;
    32.  
    33. }
    34.  
    35. public static void registerEvents(org.bukkit.plugin.Plugin plugin, Listener... listeners) {
    36. for (Listener listener : listeners) {
    37. Bukkit.getServer().getPluginManager().registerEvents(listener, plugin);
    38. }
    39. }
    40. public static Plugin getPlugin() {
    41. return plugin;
    42. }
    43.  
    44. public void show(Player player) {
    45.  
    46. }
    47.  
    48.  
    49. }
    50.  


    That is my main class.

    Please Someone Help Me!
     
  2. Offline

    pope_on_dope

    your constructor in your wandlistener class is completely messed up, you should try something like this
    Code:
    private StaffMenu menu;
    private Plugin plugin;
     
    public WandListener(Plugin plugin) {
        this.plugin = plugin;
        this.menu = new StaffMenu();
    }
    also you did not register your WandListener class, you only registered the events for your EventListener class
     
Thread Status:
Not open for further replies.

Share This Page