Need help with InventoryGUI

Discussion in 'Plugin Development' started by Stackore, Mar 24, 2014.

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

    Stackore

    Hello!
    I am coding a plugin so when u right click at a stone, a inventory gui will opened with mushroom stews. But my code isn't working and i got errors :(
    Pls help if you can do my code work
    Code:
    Code:java
    1. package me.kitgui;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.Material;
    6. import org.bukkit.block.Block;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.Action;
    11. import org.bukkit.event.inventory.InventoryClickEvent;
    12. import org.bukkit.event.player.PlayerInteractEvent;
    13. import org.bukkit.event.player.PlayerJoinEvent;
    14. import org.bukkit.inventory.Inventory;
    15. import org.bukkit.inventory.ItemStack;
    16. import org.bukkit.inventory.meta.ItemMeta;
    17. import org.bukkit.plugin.java.JavaPlugin;
    18.  
    19. public class Main extends JavaPlugin implements Listener {
    20.  
    21.  
    22. public void onEnable() {
    23. getServer().getPluginManager().registerEvents(this, this);
    24. }
    25.  
    26. private void openGUI(Player player) {
    27. Inventory inv = Bukkit.createInventory(null, 9, ChatColor.GOLD
    28. + "Free soup");
    29.  
    30.  
    31. ItemStack soup = new ItemStack(Material.MUSHROOM_SOUP);
    32. ItemMeta soupMeta = soup.getItemMeta();
    33.  
    34. soupMeta.setDisplayName("");
    35. soup.setItemMeta(soupMeta);
    36.  
    37. inv.setItem(0, soup);
    38. inv.setItem(1, soup);
    39. inv.setItem(2, soup);
    40. inv.setItem(3, soup);
    41. inv.setItem(4, soup);
    42. inv.setItem(5, soup);
    43. inv.setItem(6, soup);
    44. inv.setItem(7, soup);
    45. inv.setItem(8, soup);
    46. inv.setItem(9, soup);
    47.  
    48. player.openInventory(inv);
    49.  
    50. }
    51.  
    52.  
    53.  
    54.  
    55.  
    56. @EventHandler
    57. public void onInventoryClick(InventoryClickEvent e) {
    58. if (!ChatColor.stripColor(e.getInventory().getName())
    59. .equalsIgnoreCase("Free soup"))
    60. return;
    61.  
    62. Player player = (Player) e.getWhoClicked();
    63. e.setCancelled(true);
    64.  
    65. if(e.getCurrentItem()==null
    66. || e.getCurrentItem().getType()==Material.AIR
    67. ||!e.getCurrentItem().hasItemMeta()) {
    68. player.closeInventory();
    69. return;
    70. }
    71.  
    72. switch(e.getCurrentItem().getType()) {
    73. case MUSHROOM_SOUP:
    74. player.closeInventory();
    75. break;
    76. default:
    77. player.closeInventory();
    78. break;
    79. }
    80. }
    81.  
    82.  
    83. @EventHandler
    84. public void onPlayerInteract(PlayerInteractEvent e) {
    85. Action a = e.getAction();
    86. Block block = e.getClickedBlock();
    87. if(a == Action.LEFT_CLICK_BLOCK) {
    88. if(block.getType() == Material.STONE);
    89. openGUI(e.getPlayer());
    90. }
    91. }
    92. }
    93.  
    94.  
    95.  
     
  2. Offline

    ShadowLAX

    Stackore Can you post the stacktrace?
     
  3. Offline

    Stackore

    Here is my errors by the way: error.png
     
Thread Status:
Not open for further replies.

Share This Page