T2C-CommandGUI/CommandGUI V2/src/main/java/net/t2code/commandguiv2/Spigot/useItem/ItemChange.java

114 lines
5.1 KiB
Java

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