Guest User

TestGui.java

a guest
Feb 1st, 2024
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. package guis;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.Material;
  5. import org.bukkit.entity.HumanEntity;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.Listener;
  9. import org.bukkit.event.inventory.InventoryClickEvent;
  10. import org.bukkit.event.inventory.InventoryDragEvent;
  11. import org.bukkit.inventory.Inventory;
  12. import org.bukkit.inventory.ItemStack;
  13. import org.bukkit.inventory.meta.ItemMeta;
  14.  
  15. import java.util.Arrays;
  16.  
  17. public class TestGui implements Listener {
  18.  
  19. private Inventory TestGui;
  20.  
  21. public TestGui() {
  22.  
  23. }
  24.  
  25. public void openTestInventory(Player player) {
  26. player.sendMessage("hi");
  27. createTestInventory();
  28. openInventory(player);
  29. }
  30.  
  31. public void createTestInventory() {
  32. // Create a new inventory, with no owner (as this isn't a real inventory), a size of nine, called example
  33. TestGui = Bukkit.createInventory(null, 9, "Example");
  34.  
  35. // Put the items into the inventory
  36. initializeItems();
  37. }
  38.  
  39. private void initializeItems() {
  40. TestGui.addItem(createGuiItem(Material.DIAMOND_SWORD, "Example Sword", "§aFirst line of the lore", "§bSecond line of the lore"));
  41. TestGui.addItem(createGuiItem(Material.IRON_HELMET, "§bExample Helmet", "§aFirst line of the lore", "§bSecond line of the lore"));
  42. }
  43.  
  44. protected ItemStack createGuiItem(final Material material, final String name, final String... lore) {
  45. final ItemStack item = new ItemStack(material, 1);
  46. final ItemMeta meta = item.getItemMeta();
  47.  
  48. // Set the name of the item
  49. meta.setDisplayName(name);
  50.  
  51. // Set the lore of the item
  52. meta.setLore(Arrays.asList(lore));
  53.  
  54. item.setItemMeta(meta);
  55.  
  56. return item;
  57. }
  58.  
  59. public void openInventory(final HumanEntity ent) {
  60. ent.openInventory(TestGui);
  61. }
  62.  
  63.  
  64.  
  65. // Check for clicks on items
  66. @EventHandler
  67. public void onInventoryClick(final InventoryClickEvent e) {
  68. System.out.println("This is from onInventoryClick handler");
  69. System.out.println("This is TestGui (this is returning Null");
  70. System.out.println(TestGui);
  71. if (!e.getInventory().equals(TestGui)) return;
  72.  
  73. e.setCancelled(true);
  74.  
  75. final ItemStack clickedItem = e.getCurrentItem();
  76.  
  77. // verify current item is not null
  78. if (clickedItem == null || clickedItem.getType().isAir()) return;
  79.  
  80. final Player p = (Player) e.getWhoClicked();
  81.  
  82. // Using slots click is a best option for your inventory click's
  83. p.sendMessage("You clicked at slot " + e.getRawSlot());
  84. }
  85.  
  86. // Cancel dragging in our inventory
  87. @EventHandler
  88. public void onInventoryClick(final InventoryDragEvent e) {
  89. if (e.getInventory().equals(TestGui)) {
  90. e.setCancelled(true);
  91. }
  92. }
  93.  
  94. }
  95.  
  96.  
Add Comment
Please, Sign In to add comment