package de.jatitv.commandguiv2.Spigot.Listener; import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.system.UseItem; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import net.t2code.lib.Spigot.Lib.messages.send; 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.UseItem_InventorySlotEnforce) { slot = SelectConfig.UseItem_InventorySlot; } else { if (Events.useItemSlotHashMap.get(player) == null) { slot = SelectConfig.UseItem_InventorySlot; } else { slot = Events.useItemSlotHashMap.get(player); } } if (!SelectConfig.UseItem_Enable) { return; } UseItem.removeItem(player); if (UseItem.protection(player, false)) return; if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) { if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) { if (!player.hasPlayedBefore()) { new BukkitRunnable() { @Override public void run() { UseItem.giveUseItem(player); if (setCursor) { setCursor(player, slot); } } }.runTaskLater(Main.plugin, 1L * 1); if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin || SelectConfig.Cursor_ToGUIItem_OnLogin) { player.getInventory().setHeldItemSlot(slot - 1); } } } send.debug(Main.plugin,"GiveOnlyOnFirstJoin: " +player.getName()); return; } if (!SelectConfig.UseItem_GiveOnEveryJoin) { send.debug(Main.plugin,"!GiveOnEveryJoin: " +player.getName()); return; } new BukkitRunnable() { @Override public void run() { if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) { if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) { send.debug(Main.plugin,"Give: " +player.getName()); UseItem.giveUseItem(player); if (setCursor) { setCursor(player, slot); } } else if (SelectConfig.UseItem_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.plugin, 1L * 1); } private static void setCursor(Player player, int slot) { send.debug(Main.plugin,"setCursor 1 Player: "+player.getName()); if (!SelectConfig.Cursor_ToGUIItem_OnLogin) { return; } send.debug(Main.plugin,"setCursor 2 Player: "+player.getName()); if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) { if (!player.hasPlayedBefore()) { player.getInventory().setHeldItemSlot(slot - 1); send.debug(Main.plugin,"setCursor 3 Player: "+player.getName()); } return; } send.debug(Main.plugin,"setCursor 4 Player: "+player.getName()); if (!SelectConfig.Bungee) { player.getInventory().setHeldItemSlot(slot - 1); send.debug(Main.plugin,"setCursor 5 Player: "+player.getName()); return; } send.debug(Main.plugin,"setCursor 6 Player: "+player.getName()); if (SelectConfig.UseItem_ServerChange) { player.getInventory().setHeldItemSlot(slot - 1); send.debug(Main.plugin,"setCursor 7 Player: "+player.getName()); return; } send.debug(Main.plugin,"setCursor 8 Player: "+player.getName()); send.debug(Main.plugin,"setCursor bungeejoinplayers: " +Main.bungeejoinplayers); send.debug(Main.plugin,"setCursor Player: " +player.getName()); if (Main.bungeejoinplayers.contains(player.getName())) { player.getInventory().setHeldItemSlot(slot - 1); send.debug(Main.plugin,"setCursor 9 Player: "+player.getName()); Main.bungeejoinplayers.remove(player.getName()); } } }