summaryrefslogtreecommitdiff
path: root/src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java
diff options
context:
space:
mode:
authorDavid <david@panic.tk>2018-11-07 23:50:06 +0100
committerDavid <david@panic.tk>2018-11-07 23:50:06 +0100
commit604cf01967ede98bf5024e4926bb0777fc4e8eee (patch)
treee2fa63d7e683769ee3bf3eddc75280648e92eb04 /src/main/java/com/redstoner/modules/loginsecurity/CancelledEventsHandler.java
parente86c52ef7c0e1e33c6af0e8674b038976bec11cc (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.java95
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);
+ }
+}