Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.shin1gamix.xpshop.listeners;
- import java.util.UUID;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import net.shin1gamix.xpshop.Core;
- import net.shin1gamix.xpshop.PlayerManager;
- import net.shin1gamix.xpshop.objects.ShopItem;
- import net.shin1gamix.xpshop.objects.ShopItemCharge;
- public class InventoryHandler implements Listener {
- private final Core core;
- public InventoryHandler(final Core core) {
- this.core = core;
- }
- @EventHandler
- private void onClick(final InventoryClickEvent e) {
- final Player player = (Player) e.getWhoClicked();
- final UUID id = player.getUniqueId();
- if (!this.core.getPlayerManagerMap().containsKey(id)) {
- return;
- }
- final PlayerManager invman = this.core.getPlayerManagerMap().get(id);
- if (!e.getInventory().equals(invman.getInventory())) {
- return;
- }
- if (e.getCurrentItem() == null) {
- return;
- }
- e.setCancelled(true);
- final ShopItem item = getItemBySlot(invman, e.getRawSlot());
- if (item == null) {
- return;
- }
- if (item instanceof ShopItemCharge) {
- ((ShopItemCharge) item).executeTask();
- }
- }
- private ShopItem getItemBySlot(final PlayerManager invman, final int slot) {
- for (final ShopItem item : invman.getItems()) {
- for (final int slots : item.getSlots()) {
- if (slots - 1 == slot) {
- return item;
- }
- }
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement