From 0f1eb9b4f910b4f61f4c89fbad14b6485c372756 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 14 Dec 2011 16:04:15 +0100 Subject: Moved signs code to a new module --- .../essentials/signs/SignPlayerListener.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java new file mode 100644 index 000000000..9f1a22896 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java @@ -0,0 +1,68 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentials; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.Sign; +import org.bukkit.event.block.Action; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerListener; + + +public class SignPlayerListener extends PlayerListener +{ + private final transient IEssentials ess; + + public SignPlayerListener(IEssentials ess) + { + this.ess = ess; + } + + @Override + public void onPlayerInteract(PlayerInteractEvent event) + { + if (event.isCancelled()) + { + return; + } + + final Block block = event.getClickedBlock(); + if (block == null) + { + return; + } + final int mat = block.getTypeId(); + if (mat == Material.SIGN_POST.getId() || mat == Material.WALL_SIGN.getId()) + { + if (event.getAction() != Action.RIGHT_CLICK_BLOCK) + { + return; + } + final Sign csign = (Sign)block.getState(); + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (csign.getLine(0).equalsIgnoreCase(sign.getSuccessName())) + { + sign.onSignInteract(block, event.getPlayer(), ess); + event.setCancelled(true); + return; + } + } + } + else + { + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockInteract(block, event.getPlayer(), ess)) + { + event.setCancelled(true); + return; + + } + } + } + } +} -- cgit v1.2.3 From 32840e68f361c61ea42b77d33eb67d6164c136a4 Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 21 Feb 2012 19:17:22 +0100 Subject: Sign settings --- .../src/com/earth2me/essentials/signs/SignPlayerListener.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java index 11e4fb2b4..3aed5d155 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java @@ -14,10 +14,12 @@ import org.bukkit.event.player.PlayerInteractEvent; public class SignPlayerListener implements Listener { private final transient IEssentials ess; + private final transient ISignsPlugin plugin; - public SignPlayerListener(final IEssentials ess) + public SignPlayerListener(final IEssentials ess, final ISignsPlugin plugin) { this.ess = ess; + this.plugin = plugin; } @EventHandler(priority = EventPriority.LOW) @@ -41,7 +43,7 @@ public class SignPlayerListener implements Listener return; } final Sign csign = (Sign)block.getState(); - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (csign.getLine(0).equalsIgnoreCase(sign.getSuccessName())) { @@ -53,7 +55,7 @@ public class SignPlayerListener implements Listener } else { - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockInteract(block, event.getPlayer(), ess)) -- cgit v1.2.3