2022-11-01 12:20:53 +00:00
|
|
|
package net.t2code.commandguiv2.Spigot.useItem;
|
2021-12-21 04:57:29 +00:00
|
|
|
|
2022-11-01 12:20:53 +00:00
|
|
|
import net.t2code.commandguiv2.Spigot.Main;
|
|
|
|
import net.t2code.commandguiv2.Spigot.cmdManagement.Commands;
|
|
|
|
import net.t2code.commandguiv2.Spigot.config.config.SelectConfig;
|
|
|
|
import net.t2code.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
|
|
import net.t2code.commandguiv2.Spigot.gui.OpenGUI;
|
|
|
|
import net.t2code.commandguiv2.Spigot.database.SelectDatabase;
|
|
|
|
import net.t2code.commandguiv2.api.CGuiAPI;
|
2022-08-10 13:27:27 +00:00
|
|
|
import net.t2code.t2codelib.SPIGOT.api.items.T2CitemVersion;
|
|
|
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
2022-06-08 03:11:26 +00:00
|
|
|
import org.bukkit.Bukkit;
|
2021-12-21 04:57:29 +00:00
|
|
|
import org.bukkit.Material;
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
import org.bukkit.event.EventHandler;
|
|
|
|
import org.bukkit.event.EventPriority;
|
|
|
|
import org.bukkit.event.Listener;
|
|
|
|
import org.bukkit.event.block.BlockPlaceEvent;
|
|
|
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
|
|
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
|
|
import org.bukkit.event.inventory.InventoryDragEvent;
|
|
|
|
import org.bukkit.event.inventory.InventoryMoveItemEvent;
|
|
|
|
import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
|
|
|
import org.bukkit.event.player.*;
|
2022-06-08 03:11:26 +00:00
|
|
|
import org.bukkit.event.server.ServerCommandEvent;
|
2021-12-21 04:57:29 +00:00
|
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
2022-04-16 12:32:22 +00:00
|
|
|
import java.util.HashMap;
|
2021-12-21 04:57:29 +00:00
|
|
|
import java.util.Iterator;
|
|
|
|
|
|
|
|
public class Events implements Listener {
|
|
|
|
|
2022-05-16 12:03:53 +00:00
|
|
|
public static HashMap<String, Boolean> useItemHashMap = new HashMap<>();
|
|
|
|
public static HashMap<String, Integer> useItemSlotHashMap = new HashMap<>();
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
@EventHandler
|
|
|
|
public void onJoin(PlayerJoinEvent e) {
|
2022-05-16 12:03:53 +00:00
|
|
|
useItemHashMap.put(e.getPlayer().getName(), SelectDatabase.selectItemStatus(e.getPlayer()));
|
2022-05-17 19:04:23 +00:00
|
|
|
Integer i = SelectDatabase.selectSlot(e.getPlayer());
|
|
|
|
if (i == null) {
|
2022-06-08 03:11:26 +00:00
|
|
|
useItemSlotHashMap.put(e.getPlayer().getName(), SelectConfig.getUseItem_InventorySlot());
|
2022-05-17 19:04:23 +00:00
|
|
|
} else useItemSlotHashMap.put(e.getPlayer().getName(), i);
|
2022-04-16 12:32:22 +00:00
|
|
|
|
2022-01-11 01:44:36 +00:00
|
|
|
if (CGuiAPI.JoinDisable) {
|
2022-08-10 13:27:27 +00:00
|
|
|
T2Csend.debug(Main.getPlugin(), "JoinDisable");
|
2022-01-11 01:44:36 +00:00
|
|
|
return;
|
|
|
|
}
|
2021-12-21 04:57:29 +00:00
|
|
|
if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) {
|
|
|
|
new BukkitRunnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
2022-08-10 13:27:27 +00:00
|
|
|
T2Csend.debug(Main.getPlugin(), "itemChange: " + e.getPlayer().getName());
|
2022-01-06 02:04:56 +00:00
|
|
|
ItemChange.itemChange(e.getPlayer(), true);
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|
2022-07-09 07:13:10 +00:00
|
|
|
}.runTaskLater(Main.getPlugin(), 20L * 1);
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-04-16 12:32:22 +00:00
|
|
|
@EventHandler
|
|
|
|
public void onJoin(PlayerQuitEvent e) {
|
2022-05-16 12:03:53 +00:00
|
|
|
useItemHashMap.remove(e.getPlayer().getName());
|
2022-04-16 12:32:22 +00:00
|
|
|
}
|
|
|
|
|
2022-06-08 03:11:26 +00:00
|
|
|
|
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onDeathDrop(PlayerDeathEvent e) {
|
|
|
|
Player player = e.getEntity().getPlayer();
|
2022-04-20 23:58:54 +00:00
|
|
|
UseItem.removeItem(player);
|
2021-12-21 04:57:29 +00:00
|
|
|
if (!e.getDrops().isEmpty()) {
|
|
|
|
Iterator var3 = (new ArrayList(e.getDrops())).iterator();
|
|
|
|
while (var3.hasNext()) {
|
|
|
|
ItemStack items = (ItemStack) var3.next();
|
|
|
|
if (items != null && items.hasItemMeta() && items.getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& items.getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
e.getDrops().remove(items);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onRespawn(PlayerRespawnEvent e) {
|
|
|
|
Player player = e.getPlayer();
|
2022-06-08 03:11:26 +00:00
|
|
|
if (SelectConfig.getUseItem_Enable()) {
|
2022-01-06 02:04:56 +00:00
|
|
|
ItemChange.itemChange(player, false);
|
2022-06-08 03:11:26 +00:00
|
|
|
//if (!SelectConfig.getUseItem_AllowToggle || Select_Database.selectItemStatus(player)) {
|
|
|
|
// if (SelectConfig.getUseItem_GiveOnlyOnFirstJoin) {
|
2022-04-16 12:32:22 +00:00
|
|
|
// if (!player.hasPlayedBefore()) {
|
|
|
|
// new BukkitRunnable() {
|
|
|
|
// @Override
|
|
|
|
// public void run() {
|
|
|
|
// Give_UseItem.onGive(player);
|
|
|
|
// }
|
2022-07-09 07:13:10 +00:00
|
|
|
// }.runTaskLater(Main.getPlugin(), 20L * 1);
|
2022-04-16 12:32:22 +00:00
|
|
|
// }
|
|
|
|
// } else {
|
|
|
|
// new BukkitRunnable() {
|
|
|
|
// @Override
|
|
|
|
// public void run() {
|
|
|
|
// Give_UseItem.onGive(player);
|
|
|
|
// }
|
2022-07-09 07:13:10 +00:00
|
|
|
// }.runTaskLater(Main.getPlugin(), 20L * 1);
|
2022-04-16 12:32:22 +00:00
|
|
|
// }
|
|
|
|
//}
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onGameModeChange(PlayerGameModeChangeEvent e) {
|
|
|
|
Player player = e.getPlayer();
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItemGameModeChangeEnable()) {
|
2022-01-06 02:04:56 +00:00
|
|
|
return;
|
|
|
|
}
|
2021-12-21 04:57:29 +00:00
|
|
|
new BukkitRunnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
2022-01-06 02:04:56 +00:00
|
|
|
ItemChange.itemChange(player, false);
|
2022-01-06 01:21:27 +00:00
|
|
|
}
|
2022-07-09 07:13:10 +00:00
|
|
|
}.runTaskLater(Main.getPlugin(), SelectConfig.getUseItemGameModeChangeDelayInTicks() * 1L);
|
2022-01-06 01:21:27 +00:00
|
|
|
}
|
|
|
|
|
2022-01-07 19:32:59 +00:00
|
|
|
@EventHandler
|
|
|
|
public void onWorldChange(PlayerChangedWorldEvent e) {
|
|
|
|
Player player = e.getPlayer();
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItemWorldChangeEnable()) {
|
2022-01-07 19:32:59 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
new BukkitRunnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
ItemChange.itemChange(player, false);
|
|
|
|
}
|
2022-07-09 07:13:10 +00:00
|
|
|
}.runTaskLater(Main.getPlugin(), SelectConfig.getUseItemWorldChangeDelayInTicks() * 1L);
|
2022-01-07 19:32:59 +00:00
|
|
|
}
|
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onInteract(PlayerInteractEvent e) {
|
|
|
|
Player p = e.getPlayer();
|
2022-05-16 22:19:39 +00:00
|
|
|
if (!p.isSneaking()) {
|
2022-06-08 03:11:26 +00:00
|
|
|
for (String material : SelectConfig.getUseItemItemBlockBlacklist()) {
|
2022-05-16 22:19:39 +00:00
|
|
|
if (e.getClickedBlock() != null) {
|
|
|
|
if (e.getClickedBlock().getType() == Material.valueOf(material)) return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-06-08 03:11:26 +00:00
|
|
|
if (SelectConfig.getUseItem_Enable()) {
|
|
|
|
if (SelectConfig.getUseItem_PlayerHead_Enable()) {
|
2022-08-10 13:27:27 +00:00
|
|
|
if (e.getItem() != null && p.getItemInHand().getType() == T2CitemVersion.getHead()) {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2022-01-07 19:32:59 +00:00
|
|
|
openGUI(e, p);
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (e.getItem() != null && p.getItemInHand().getType() == Material.valueOf(SelectConfig.getUseItem_Material())) {
|
|
|
|
if (e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2022-01-07 19:32:59 +00:00
|
|
|
openGUI(e, p);
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-04-20 23:58:54 +00:00
|
|
|
private static void openGUI(PlayerInteractEvent e, Player player) {
|
2022-01-07 19:32:59 +00:00
|
|
|
e.setCancelled(true);
|
|
|
|
|
2022-06-08 03:11:26 +00:00
|
|
|
if ((!SelectConfig.getDisableInfoBySneak()) && player.isSneaking()) {
|
2022-05-12 16:28:35 +00:00
|
|
|
Commands.info(player);
|
|
|
|
return;
|
2022-01-07 19:32:59 +00:00
|
|
|
}
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2022-05-17 19:04:23 +00:00
|
|
|
if (!Main.legacy) {
|
2022-04-20 23:58:54 +00:00
|
|
|
if (!topInventoryIsEmpty(player)) return;
|
2022-01-07 19:32:59 +00:00
|
|
|
}
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2022-04-20 23:58:54 +00:00
|
|
|
if (UseItem.protection(player, true)) return;
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2022-06-08 03:11:26 +00:00
|
|
|
if (SelectConfig.getUseItemGameModeProtection()) {
|
|
|
|
if (SelectConfig.getUseItemGameModeMode().equalsIgnoreCase("blacklist") && SelectConfig.getUseItemGameModeList().contains(player.getGameMode().toString())) {
|
2022-01-07 19:32:59 +00:00
|
|
|
e.setCancelled(true);
|
2022-08-10 13:27:27 +00:00
|
|
|
T2Csend.player(player, SelectMessages.UseItemDisabledInGameMode);
|
2022-01-07 19:32:59 +00:00
|
|
|
return;
|
|
|
|
}
|
2022-06-08 03:11:26 +00:00
|
|
|
if (SelectConfig.getUseItemGameModeMode().equalsIgnoreCase("whitelist") && !SelectConfig.getUseItemGameModeList().contains(player.getGameMode().toString())) {
|
2022-01-07 19:32:59 +00:00
|
|
|
e.setCancelled(true);
|
2022-08-10 13:27:27 +00:00
|
|
|
T2Csend.player(player, SelectMessages.UseItemDisabledInGameMode);
|
2022-01-07 19:32:59 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2022-06-08 03:11:26 +00:00
|
|
|
if (SelectConfig.getUseItemWorldProtection()) {
|
|
|
|
if (SelectConfig.getUseItemWorldMode().equalsIgnoreCase("blacklist") && SelectConfig.getUseItemWorldList().contains(player.getWorld().getName())) {
|
2022-01-07 19:32:59 +00:00
|
|
|
e.setCancelled(true);
|
2022-08-10 13:27:27 +00:00
|
|
|
T2Csend.player(player, SelectMessages.UseItemDisabledInWorld);
|
2022-01-07 19:32:59 +00:00
|
|
|
return;
|
|
|
|
}
|
2022-06-08 03:11:26 +00:00
|
|
|
if (SelectConfig.getUseItemWorldMode().equalsIgnoreCase("whitelist") && !SelectConfig.getUseItemWorldList().contains(player.getWorld().getName())) {
|
2022-01-07 19:32:59 +00:00
|
|
|
e.setCancelled(true);
|
2022-08-10 13:27:27 +00:00
|
|
|
T2Csend.player(player, SelectMessages.UseItemDisabledInWorld);
|
2022-01-07 19:32:59 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItem_Permission() || player.hasPermission("commandgui.useitem")) {
|
|
|
|
OpenGUI.openGUI(player, SelectConfig.getUseItem_OpenGUI(), true);
|
2022-01-07 19:32:59 +00:00
|
|
|
} else {
|
2022-08-10 13:27:27 +00:00
|
|
|
T2Csend.player(player,SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem")
|
2022-06-08 03:11:26 +00:00
|
|
|
.replace("[gui]", SelectConfig.getUseItem_OpenGUI()));
|
2022-01-07 19:32:59 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onItemMoveEvent(InventoryMoveItemEvent e) {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItem_BlockMoveAndDrop() || !SelectConfig.getUseItem_Enable()) return;
|
2021-12-21 04:57:29 +00:00
|
|
|
if (e.getItem() != null && e.getItem().hasItemMeta() && e.getItem().getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
e.setCancelled(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-04-16 12:32:22 +00:00
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onItemMove(InventoryDragEvent e) {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItem_BlockMoveAndDrop() || !SelectConfig.getUseItem_Enable()) return;
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
if (e.getWhoClicked() instanceof Player) {
|
|
|
|
Player p = (Player) e.getWhoClicked();
|
|
|
|
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
p.closeInventory();
|
|
|
|
e.setCancelled(true);
|
2022-01-06 02:04:56 +00:00
|
|
|
ItemChange.itemChange(p, false);
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (e.getOldCursor() != null && e.getOldCursor().hasItemMeta() && e.getOldCursor().getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& e.getOldCursor().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
p.closeInventory();
|
|
|
|
e.setCancelled(true);
|
2022-01-06 02:04:56 +00:00
|
|
|
ItemChange.itemChange(p, false);
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
|
|
|
public void onItemMove(InventoryClickEvent e) {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItem_BlockMoveAndDrop() || !SelectConfig.getUseItem_Enable()) return;
|
2021-12-21 04:57:29 +00:00
|
|
|
|
|
|
|
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
e.setCancelled(true);
|
|
|
|
}
|
|
|
|
if (e.getCurrentItem() != null && e.getCurrentItem().hasItemMeta() && e.getCurrentItem().getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& e.getCurrentItem().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
|
|
|
|
e.setCancelled(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onItemMove(InventoryPickupItemEvent e) {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItem_BlockMoveAndDrop() || !SelectConfig.getUseItem_Enable()) return;
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
if (e.getItem() != null && e.getItem().getItemStack() != null) {
|
|
|
|
ItemStack item = e.getItem().getItemStack();
|
|
|
|
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& item.getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
e.setCancelled(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onPlace(BlockPlaceEvent e) {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItem_BlockMoveAndDrop() || !SelectConfig.getUseItem_Enable()) return;
|
2021-12-21 04:57:29 +00:00
|
|
|
if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& e.getItemInHand().getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
e.setCancelled(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
|
|
public void onDrop(PlayerDropItemEvent e) {
|
2022-06-08 03:11:26 +00:00
|
|
|
if (!SelectConfig.getUseItem_BlockMoveAndDrop() || !SelectConfig.getUseItem_Enable()) return;
|
2022-04-28 17:40:41 +00:00
|
|
|
|
2021-12-21 04:57:29 +00:00
|
|
|
if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) {
|
|
|
|
ItemStack item = e.getItemDrop().getItemStack();
|
|
|
|
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
2022-06-08 03:11:26 +00:00
|
|
|
&& item.getItemMeta().getDisplayName().equals(SelectConfig.getUseItem_Name())) {
|
2021-12-21 04:57:29 +00:00
|
|
|
e.setCancelled(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private static boolean topInventoryIsEmpty(Player p) {
|
|
|
|
return p.getOpenInventory().getTopInventory().isEmpty();
|
|
|
|
}
|
2022-06-08 03:11:26 +00:00
|
|
|
|
|
|
|
@EventHandler
|
|
|
|
public void onClearServer(ServerCommandEvent event) {
|
|
|
|
if (SelectConfig.getUseItem_KeepAtCommandClear()) {
|
|
|
|
if (event.getCommand().contains("clear " + event.getCommand().replace("/", "").replace("clear ", ""))) {
|
|
|
|
new BukkitRunnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
try {
|
|
|
|
Player player = Bukkit.getPlayer(event.getCommand().replace("/", "").replace("clear ", ""));
|
|
|
|
if (player == null){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
clearGive(player);
|
|
|
|
} catch (Exception ex){
|
|
|
|
ex.printStackTrace();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
2022-07-09 07:13:10 +00:00
|
|
|
}.runTaskLater(Main.getPlugin(), 1L);
|
2022-06-08 03:11:26 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@EventHandler
|
|
|
|
public void onClearPlayer(PlayerCommandPreprocessEvent event) {
|
|
|
|
if (SelectConfig.getUseItem_KeepAtCommandClear()) {
|
|
|
|
if (event.getMessage().toLowerCase().contains("clear")) {
|
|
|
|
new BukkitRunnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
clearGive(event.getPlayer());
|
|
|
|
}
|
2022-07-09 07:13:10 +00:00
|
|
|
}.runTaskLater(Main.getPlugin(), 1L);
|
2022-06-08 03:11:26 +00:00
|
|
|
}
|
|
|
|
if (event.getMessage().toLowerCase().contains("clear " + event.getMessage().toLowerCase().replace("/", "").replace("clear ", ""))) {
|
|
|
|
new BukkitRunnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
clearGive(Bukkit.getPlayer(event.getMessage().toLowerCase().replace("/", "").replace("clear ", "")));
|
|
|
|
}
|
2022-07-09 07:13:10 +00:00
|
|
|
}.runTaskLater(Main.getPlugin(), 1L);
|
2022-06-08 03:11:26 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private static void clearGive(Player player) {
|
|
|
|
ItemChange.itemChange(player, false);
|
|
|
|
}
|
2021-12-21 04:57:29 +00:00
|
|
|
}
|