T2C-CommandGUI/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java

103 lines
4.9 KiB
Java

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);
}
}
}