package net.t2code.commandguiv2.Spigot.useItem; import net.t2code.commandguiv2.Spigot.Main; import net.t2code.commandguiv2.Spigot.config.config.SelectConfig; import net.t2code.t2codelib.BUNGEE.system.config.T2CBlibConfig; import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend; import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; public class ItemChange { public static void itemChange(Player player, Boolean setCursor) { Integer slot; if (SelectConfig.getUseItem_InventorySlotEnforce()) { slot = SelectConfig.getUseItem_InventorySlot(); } else { slot = Events.useItemSlotHashMap.get(player.getName()); } if (!SelectConfig.getUseItem_Enable()) { return; } UseItem.removeItem(player); if (UseItem.protection(player, false)) return; if (SelectConfig.getUseItem_GiveOnlyOnFirstJoin()) { if (!SelectConfig.getUseItem_AllowToggle() || Events.useItemHashMap.get(player.getName())) { if (!player.hasPlayedBefore()) { new BukkitRunnable() { @Override public void run() { UseItem.giveUseItem(player); if (setCursor) { setCursor(player, slot); } } }.runTaskLater(Main.getPlugin(), 1L * 1); if (SelectConfig.getCursor_ToGUIItem_OnlyOnFirstLogin() || SelectConfig.getCursor_ToGUIItem_OnLogin()) { player.getInventory().setHeldItemSlot(slot - 1); } } } T2Csend.debug(Main.getPlugin(), "GiveOnlyOnFirstJoin: " + player.getName()); return; } if (!SelectConfig.getUseItem_GiveOnEveryJoin()) { T2Csend.debug(Main.getPlugin(), "!GiveOnEveryJoin: " + player.getName()); return; } new BukkitRunnable() { @Override public void run() { Boolean pln = Events.useItemHashMap.get(player.getName()); if (pln == null) return; if (!SelectConfig.getUseItem_AllowToggle() || pln) { if (SelectConfig.getUseItem_InventorySlotEnforce() || player.getInventory().getItem(slot - 1) == null) { T2Csend.debug(Main.getPlugin(), "Give: " + player.getName()); UseItem.giveUseItem(player); if (setCursor) { setCursor(player, slot); } } else if (SelectConfig.getUseItem_InventorySlot_FreeSlot()) { boolean empty = false; for (int i = 0; i < 9; i++) { if (player.getInventory().getItem(i) == null) { empty = true; break; } } if (empty) { UseItem.addUseItem(player); } } } } }.runTaskLater(Main.getPlugin(), 1L * 1); } private static void setCursor(Player player, int slot) { T2Csend.debug(Main.getPlugin(), "setCursor 1 Player: " + player.getName()); if (!SelectConfig.getCursor_ToGUIItem_OnLogin()) { return; } T2Csend.debug(Main.getPlugin(), "setCursor 2 Player: " + player.getName()); if (SelectConfig.getCursor_ToGUIItem_OnlyOnFirstLogin()) { if (!player.hasPlayedBefore()) { player.getInventory().setHeldItemSlot(slot - 1); T2Csend.debug(Main.getPlugin(), "setCursor 3 Player: " + player.getName()); } return; } T2Csend.debug(Main.getPlugin(), "setCursor 4 Player: " + player.getName()); if (!SelectLibConfig.getBungee()) { player.getInventory().setHeldItemSlot(slot - 1); T2Csend.debug(Main.getPlugin(), "setCursor 5 Player: " + player.getName()); return; } T2Csend.debug(Main.getPlugin(), "setCursor 6 Player: " + player.getName()); if (SelectConfig.getUseItem_ServerChange()) { player.getInventory().setHeldItemSlot(slot - 1); T2Csend.debug(Main.getPlugin(), "setCursor 7 Player: " + player.getName()); return; } T2Csend.debug(Main.getPlugin(), "setCursor 8 Player: " + player.getName()); T2Csend.debug(Main.getPlugin(), "setCursor bungeejoinplayers: " + Main.bungeejoinplayers); T2Csend.debug(Main.getPlugin(), "setCursor Player: " + player.getName()); if (Main.bungeejoinplayers.contains(player.getName())) { player.getInventory().setHeldItemSlot(slot - 1); T2Csend.debug(Main.getPlugin(), "setCursor 9 Player: " + player.getName()); Main.bungeejoinplayers.remove(player.getName()); } } }