summaryrefslogtreecommitdiff
path: root/src/main/java/com/redstoner/modules/skullclick
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/skullclick
parente86c52ef7c0e1e33c6af0e8674b038976bec11cc (diff)
Converted Modules to gradle
Diffstat (limited to 'src/main/java/com/redstoner/modules/skullclick')
-rw-r--r--src/main/java/com/redstoner/modules/skullclick/SkullClick.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/main/java/com/redstoner/modules/skullclick/SkullClick.java b/src/main/java/com/redstoner/modules/skullclick/SkullClick.java
new file mode 100644
index 0000000..d581d19
--- /dev/null
+++ b/src/main/java/com/redstoner/modules/skullclick/SkullClick.java
@@ -0,0 +1,56 @@
+package com.redstoner.modules.skullclick;
+
+import org.bukkit.block.BlockState;
+import org.bukkit.block.Skull;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.Action;
+import org.bukkit.event.player.PlayerInteractEvent;
+
+import com.redstoner.annotations.AutoRegisterListener;
+import com.redstoner.annotations.Commands;
+import com.redstoner.annotations.Version;
+import com.redstoner.misc.CommandHolderType;
+import com.redstoner.modules.Module;
+
+@Commands(CommandHolderType.None)
+@Version(major = 4, minor = 0, revision = 0, compatible = 4)
+@AutoRegisterListener
+public class SkullClick implements Module, Listener
+{
+ private boolean seen = false;
+
+ @SuppressWarnings("deprecation")
+ @EventHandler
+ public void onClick(PlayerInteractEvent e)
+ {
+ // The event gets fired twice, once for mainhand and once for offhand. This fixes that.
+ if (seen)
+ {
+ seen = false;
+ return;
+ }
+ seen = true;
+ if (e.getAction() == Action.RIGHT_CLICK_BLOCK && !e.isCancelled())
+ {
+ BlockState block = e.getClickedBlock().getState();
+ if (block instanceof Skull)
+ {
+ Skull skull = (Skull) block;
+ String owner = skull.getOwner();
+ if (owner == null || owner.equals(""))
+ {
+ getLogger().message(e.getPlayer(), true, "That skull has no owner.");
+ }
+ else
+ {
+ getLogger().message(e.getPlayer(), "That's " + owner + ".");
+ }
+ if (!e.getPlayer().isSneaking())
+ {
+ e.setCancelled(true);
+ }
+ }
+ }
+ }
+}