diff options
author | David <david@panic.tk> | 2018-11-07 23:50:06 +0100 |
---|---|---|
committer | David <david@panic.tk> | 2018-11-07 23:50:06 +0100 |
commit | 604cf01967ede98bf5024e4926bb0777fc4e8eee (patch) | |
tree | e2fa63d7e683769ee3bf3eddc75280648e92eb04 /src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java | |
parent | e86c52ef7c0e1e33c6af0e8674b038976bec11cc (diff) |
Converted Modules to gradle
Diffstat (limited to 'src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java')
-rw-r--r-- | src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java b/src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java new file mode 100644 index 0000000..e39d781 --- /dev/null +++ b/src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java @@ -0,0 +1,95 @@ +package com.redstoner.modules.loginsecurity; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.player.AsyncPlayerChatEvent; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.bukkit.event.player.PlayerDropItemEvent; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerItemHeldEvent; +import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.event.player.PlayerPickupArrowEvent; +import org.bukkit.event.player.PlayerPickupItemEvent; + +public class CancelledEventsHandler implements Listener { + private LoginSecurity mainClass; + + public CancelledEventsHandler(LoginSecurity mainClass) { + this.mainClass = mainClass; + } + + @EventHandler + public void onMove(PlayerMoveEvent e) { + if (isLoggingIn(e.getPlayer())) { + e.getPlayer().teleport(LoginSecurity.loggingIn.get(e.getPlayer().getUniqueId())); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onChat(AsyncPlayerChatEvent e) { + if (isLoggingIn(e.getPlayer())) { + e.getPlayer().sendMessage(ChatColor.RED + "You must login before you can chat!"); + e.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onCommand(PlayerCommandPreprocessEvent e) { + String command = e.getMessage(); + + if (!command.startsWith("/login") && isLoggingIn(e.getPlayer())) { + e.getPlayer().sendMessage(ChatColor.RED + "You must login before you can execute commands!"); + e.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onItemHold(PlayerItemHeldEvent e) { + if (isLoggingIn(e.getPlayer())) { + e.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onItemPickup(PlayerPickupItemEvent e) { + if (isLoggingIn(e.getPlayer())) { + e.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onItemDrop(PlayerDropItemEvent e) { + if (isLoggingIn(e.getPlayer())) { + e.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onInteract(PlayerInteractEvent e) { + if (isLoggingIn(e.getPlayer())) { + e.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onArrowPickup(PlayerPickupArrowEvent e) { + if (isLoggingIn(e.getPlayer())) { + e.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onInvClick(InventoryClickEvent e) { + if (e.getWhoClicked() instanceof Player && isLoggingIn((Player) e.getWhoClicked())) { + e.setCancelled(true); + } + } + + private boolean isLoggingIn(Player player) { + return mainClass.isLoggingIn(player); + } +} |