package de.jatitv.commandguiv2.Spigot.Listener; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.system.Give_UseItem; import de.jatitv.commandguiv2.Spigot.system.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; public class ItemChange { public static void itemChange(Player player) { Integer slot; if (SelectConfig.UseItem_InventorySlotEnforce){ slot = SelectConfig.UseItem_InventorySlot; } else { if (Select_Database.selectSlot(player) == null) { slot = SelectConfig.UseItem_InventorySlot; } else { slot = Select_Database.selectSlot(player); } } if (!SelectConfig.UseItem_Enable) { return; } if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) { if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) { if (!player.hasPlayedBefore()) { new BukkitRunnable() { @Override public void run() { Give_UseItem.onGive(player); } }.runTaskLater(Main.plugin, 1L * 1); if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin || SelectConfig.Cursor_ToGUIItem_OnLogin) { player.getInventory().setHeldItemSlot(slot - 1); } } } return; } if (SelectConfig.UseItem_GiveOnEveryJoin) { new BukkitRunnable() { @Override public void run() { for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { ItemStack itm = player.getInventory().getItem(iam); if (itm != null) { if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) { if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { player.getInventory().remove(itm); player.updateInventory(); break; } } } } if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) { send.debugmsg(Main.plugin, "1"); if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) { send.debugmsg(Main.plugin, "2"); Give_UseItem.onGive(player); if (SelectConfig.Cursor_ToGUIItem_OnLogin) { if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) { if (!player.hasPlayedBefore()) { player.getInventory().setHeldItemSlot(slot - 1); } } else { if (SelectConfig.Bungee) { if (SelectConfig.UseItem_ServerChange) { player.getInventory().setHeldItemSlot(slot - 1); } else { if (Main.bungeejoinplayers.contains(player.getName())) { player.getInventory().setHeldItemSlot(slot - 1); Main.bungeejoinplayers.remove(player.getName()); } } } else player.getInventory().setHeldItemSlot(slot - 1); } } } 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) { Give_UseItem.onGiveADD(player); } } } } }.runTaskLater(Main.plugin, 1L * 1); } } }