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

117 lines
4.9 KiB
Java
Raw Normal View History

2021-12-21 04:57:29 +00:00
package de.jatitv.commandguiv2.Spigot.Listener;
2022-04-16 12:32:22 +00:00
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
2021-12-21 04:57:29 +00:00
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.system.UseItem;
2022-01-06 01:21:27 +00:00
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
2022-01-08 06:47:49 +00:00
import net.t2code.lib.Spigot.Lib.messages.send;
2021-12-21 04:57:29 +00:00
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
public class ItemChange {
public static void itemChange(Player player, Boolean setCursor) {
2021-12-21 04:57:29 +00:00
Integer slot;
if (SelectConfig.UseItem_InventorySlotEnforce) {
2021-12-21 04:57:29 +00:00
slot = SelectConfig.UseItem_InventorySlot;
} else {
2022-04-16 12:32:22 +00:00
if (Events.useItemSlotHashMap.get(player) == null) {
2021-12-29 05:34:29 +00:00
slot = SelectConfig.UseItem_InventorySlot;
} else {
2022-04-16 12:32:22 +00:00
slot = Events.useItemSlotHashMap.get(player);
2021-12-29 05:34:29 +00:00
}
2021-12-21 04:57:29 +00:00
}
2022-04-16 12:32:22 +00:00
2021-12-21 04:57:29 +00:00
if (!SelectConfig.UseItem_Enable) {
return;
}
UseItem.removeItem(player);
if (UseItem.protection(player, false)) return;
2021-12-21 04:57:29 +00:00
if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
2022-04-16 12:32:22 +00:00
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
2021-12-21 04:57:29 +00:00
if (!player.hasPlayedBefore()) {
new BukkitRunnable() {
@Override
public void run() {
UseItem.giveUseItem(player);
2022-01-08 06:47:49 +00:00
if (setCursor) {
setCursor(player, slot);
}
2021-12-21 04:57:29 +00:00
}
}.runTaskLater(Main.plugin, 1L * 1);
if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin || SelectConfig.Cursor_ToGUIItem_OnLogin) {
player.getInventory().setHeldItemSlot(slot - 1);
}
}
}
2022-01-19 10:15:47 +00:00
send.debug(Main.plugin,"GiveOnlyOnFirstJoin: " +player.getName());
2021-12-21 04:57:29 +00:00
return;
}
if (!SelectConfig.UseItem_GiveOnEveryJoin) {
2022-01-19 10:15:47 +00:00
send.debug(Main.plugin,"!GiveOnEveryJoin: " +player.getName());
return;
}
new BukkitRunnable() {
@Override
public void run() {
2022-04-16 12:32:22 +00:00
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) {
2022-01-19 10:15:47 +00:00
send.debug(Main.plugin,"Give: " +player.getName());
UseItem.giveUseItem(player);
if (setCursor) {
setCursor(player, slot);
2021-12-21 04:57:29 +00:00
}
} 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;
2021-12-21 04:57:29 +00:00
}
}
if (empty) {
UseItem.addUseItem(player);
}
2021-12-21 04:57:29 +00:00
}
}
}
}.runTaskLater(Main.plugin, 1L * 1);
2022-04-16 12:32:22 +00:00
}
private static void setCursor(Player player, int slot) {
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 1 Player: "+player.getName());
if (!SelectConfig.Cursor_ToGUIItem_OnLogin) {
return;
2021-12-21 04:57:29 +00:00
}
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 2 Player: "+player.getName());
if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) {
if (!player.hasPlayedBefore()) {
player.getInventory().setHeldItemSlot(slot - 1);
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 3 Player: "+player.getName());
}
return;
}
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 4 Player: "+player.getName());
if (!SelectConfig.Bungee) {
player.getInventory().setHeldItemSlot(slot - 1);
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 5 Player: "+player.getName());
return;
}
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 6 Player: "+player.getName());
if (SelectConfig.UseItem_ServerChange) {
player.getInventory().setHeldItemSlot(slot - 1);
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 7 Player: "+player.getName());
return;
}
2022-01-08 06:47:49 +00:00
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);
2022-01-08 06:47:49 +00:00
send.debug(Main.plugin,"setCursor 9 Player: "+player.getName());
Main.bungeejoinplayers.remove(player.getName());
}
}
2021-12-21 04:57:29 +00:00
}