extras/src/main/java/pw/kaboom/extras/modules/player/PlayerInteract.java

60 lines
1.6 KiB
Java
Raw Normal View History

2019-12-17 12:37:59 +00:00
package pw.kaboom.extras.modules.player;
2019-07-30 17:14:24 +00:00
2020-02-26 20:20:13 +00:00
import org.bukkit.Material;
2020-04-21 13:44:24 +00:00
import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
2020-02-26 20:20:13 +00:00
import org.bukkit.enchantments.Enchantment;
2019-07-30 17:14:24 +00:00
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
2020-04-17 03:17:59 +00:00
import org.bukkit.event.block.Action;
2020-01-04 21:17:55 +00:00
import org.bukkit.event.inventory.InventoryClickEvent;
2019-07-30 17:14:24 +00:00
import org.bukkit.event.player.PlayerInteractEvent;
2020-02-26 20:20:13 +00:00
import org.bukkit.inventory.ItemStack;
2019-07-30 17:14:24 +00:00
2019-12-21 14:12:26 +00:00
public final class PlayerInteract implements Listener {
2020-02-27 15:08:10 +00:00
//static HashMap<UUID, Long> interactMillisList = new HashMap<UUID, Long>();
2019-12-11 01:36:35 +00:00
2020-01-04 21:17:55 +00:00
@EventHandler
void onInventoryClick(final InventoryClickEvent event) {
try {
event.getSlot();
} catch (Exception exception) {
event.setCancelled(true);
}
}
2019-07-30 17:14:24 +00:00
@EventHandler
2019-12-21 14:12:26 +00:00
void onPlayerInteract(final PlayerInteractEvent event) {
2020-02-27 00:00:52 +00:00
/*final UUID playerUuid = event.getPlayer().getUniqueId();
2019-12-17 18:23:24 +00:00
2019-12-11 01:36:35 +00:00
if (interactMillisList.get(playerUuid) != null) {
final long millisDifference = System.currentTimeMillis() - interactMillisList.get(playerUuid);
2019-12-17 18:23:24 +00:00
2019-09-18 20:17:45 +00:00
if (millisDifference < 150) {
event.setCancelled(true);
}
2019-07-30 17:14:24 +00:00
}
2019-12-17 18:23:24 +00:00
2020-02-27 00:00:52 +00:00
interactMillisList.put(playerUuid, System.currentTimeMillis());*/
2020-02-27 15:08:10 +00:00
2020-02-26 20:20:13 +00:00
final ItemStack item = event.getItem();
2020-02-27 15:08:10 +00:00
if (item != null
&& Material.TRIDENT.equals(item.getType())) {
2020-02-26 20:20:13 +00:00
final int riptideLimit = 20;
2020-02-27 15:08:10 +00:00
2020-02-26 20:20:13 +00:00
if (item.getEnchantmentLevel(Enchantment.RIPTIDE) > riptideLimit) {
item.addUnsafeEnchantment(Enchantment.RIPTIDE, riptideLimit);
}
}
2020-04-17 03:17:59 +00:00
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
2020-04-21 13:44:24 +00:00
final BlockState clickedBlock = event.getClickedBlock().getState();
2020-04-17 03:17:59 +00:00
2020-04-21 13:44:24 +00:00
if (clickedBlock instanceof Sign) {
clickedBlock.update();
2020-04-17 03:17:59 +00:00
}
}
2019-07-30 17:14:24 +00:00
}
}