Solved GUI

Discussion in 'Plugin Development' started by ZodiacTheories, Jul 25, 2014.

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

    ZodiacTheories

    Hi, so for some reason, the inventory doesn't open. I have registered my events. The strange thing is, when I place the chest on the ground, it kicks me from the game. I have no error in the console, here is my code:

    Code:java
    1. package org.zodiactheories.abilities;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.List;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.Material;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.Listener;
    12. import org.bukkit.event.block.Action;
    13. import org.bukkit.event.inventory.InventoryClickEvent;
    14. import org.bukkit.event.player.PlayerInteractEvent;
    15. import org.bukkit.event.player.PlayerJoinEvent;
    16. import org.bukkit.event.player.PlayerRespawnEvent;
    17. import org.bukkit.inventory.Inventory;
    18. import org.bukkit.inventory.ItemStack;
    19. import org.bukkit.inventory.meta.ItemMeta;
    20.  
    21. public class GUI implements Listener {
    22.  
    23. private static Inventory i;
    24.  
    25. public void openGUI(Player p) {
    26. i = Bukkit.createInventory(null, 54, ChatColor.GREEN + "Abilities");
    27.  
    28. ItemStack blackbeam = new ItemStack(Material.COAL_BLOCK);
    29. ItemMeta blackbeamMeta = blackbeam.getItemMeta();
    30. blackbeamMeta.setDisplayName(ChatColor.RED + "Black Beam Ability");
    31. List<String> blackbeamLore = new ArrayList<>();
    32. blackbeamLore.add(ChatColor.RED + "Right click and if your beam hits an enemy, they will get the wither effect!");
    33. blackbeamMeta.setLore(blackbeamLore);
    34. blackbeam.setItemMeta(blackbeamMeta);
    35.  
    36. i.setItem(11, blackbeam);
    37.  
    38. p.openInventory(i);
    39. }
    40.  
    41.  
    42. @EventHandler
    43. public void onJoin(PlayerJoinEvent e) {
    44. Player p = e.getPlayer();
    45. if(!p.getInventory().contains(HandyMethods.getGUIItem())) {
    46. p.getInventory().addItem(HandyMethods.getGUIItem());
    47. }
    48. }
    49.  
    50. @EventHandler
    51. public void onRespawn(PlayerRespawnEvent e) {
    52. Player p = e.getPlayer();
    53. if(!p.getInventory().contains(HandyMethods.getGUIItem())) {
    54. p.getInventory().addItem(HandyMethods.getGUIItem());
    55. }
    56. }
    57.  
    58. @EventHandler
    59. public void onInteract(PlayerInteractEvent e) {
    60. Player p = e.getPlayer();
    61. if(e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_AIR) {
    62. if(p.getItemInHand().getType().equals(HandyMethods.getGUIItem())) {
    63. this.openGUI(p);
    64. }
    65. }
    66. }
    67.  
    68. @EventHandler
    69. public void onClick(InventoryClickEvent e) {
    70. if(!e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Abilities")) return;
    71. if(e.getWhoClicked() instanceof Player) {
    72. Player p = (Player) e.getWhoClicked();
    73. if(e.getCurrentItem() == null || !e.getCurrentItem().hasItemMeta()) {
    74. p.closeInventory();
    75. p.sendMessage(ChatColor.RED + "You didn't click a valid item!");
    76. return;
    77. }
    78. switch(e.getCurrentItem().getType()) {
    79. case COAL_BLOCK:
    80. p.performCommand("blackbeam");
    81. p.sendMessage(ChatColor.GREEN + "Black beam equipped!");
    82. e.setCancelled(true);
    83. break;
    84. default:
    85. break;
    86. }
    87. }
    88. }
    89. }
    90.  


    Thanks

    Nvm solved

    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