Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package guis;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- import org.bukkit.entity.HumanEntity;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryDragEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import java.util.Arrays;
- public class TestGui implements Listener {
- private Inventory TestGui;
- public TestGui() {
- }
- public void openTestInventory(Player player) {
- player.sendMessage("hi");
- createTestInventory();
- openInventory(player);
- }
- public void createTestInventory() {
- // Create a new inventory, with no owner (as this isn't a real inventory), a size of nine, called example
- TestGui = Bukkit.createInventory(null, 9, "Example");
- // Put the items into the inventory
- initializeItems();
- }
- private void initializeItems() {
- TestGui.addItem(createGuiItem(Material.DIAMOND_SWORD, "Example Sword", "§aFirst line of the lore", "§bSecond line of the lore"));
- TestGui.addItem(createGuiItem(Material.IRON_HELMET, "§bExample Helmet", "§aFirst line of the lore", "§bSecond line of the lore"));
- }
- protected ItemStack createGuiItem(final Material material, final String name, final String... lore) {
- final ItemStack item = new ItemStack(material, 1);
- final ItemMeta meta = item.getItemMeta();
- // Set the name of the item
- meta.setDisplayName(name);
- // Set the lore of the item
- meta.setLore(Arrays.asList(lore));
- item.setItemMeta(meta);
- return item;
- }
- public void openInventory(final HumanEntity ent) {
- ent.openInventory(TestGui);
- }
- // Check for clicks on items
- @EventHandler
- public void onInventoryClick(final InventoryClickEvent e) {
- System.out.println("This is from onInventoryClick handler");
- System.out.println("This is TestGui (this is returning Null");
- System.out.println(TestGui);
- if (!e.getInventory().equals(TestGui)) return;
- e.setCancelled(true);
- final ItemStack clickedItem = e.getCurrentItem();
- // verify current item is not null
- if (clickedItem == null || clickedItem.getType().isAir()) return;
- final Player p = (Player) e.getWhoClicked();
- // Using slots click is a best option for your inventory click's
- p.sendMessage("You clicked at slot " + e.getRawSlot());
- }
- // Cancel dragging in our inventory
- @EventHandler
- public void onInventoryClick(final InventoryDragEvent e) {
- if (e.getInventory().equals(TestGui)) {
- e.setCancelled(true);
- }
- }
- }
Add Comment
Please, Sign In to add comment