Interact event cleanup

This commit is contained in:
KHobbits 2012-03-29 03:06:52 +01:00
parent d7139cb16c
commit c09ada201c

View file

@ -19,7 +19,6 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.inventory.InventoryType;
@ -228,6 +227,7 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onPlayerTeleport(final PlayerTeleportEvent event) public void onPlayerTeleport(final PlayerTeleportEvent event)
{ {
//TODO: Don't fetch user unless one of these features are enabled.
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
//There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports. //There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports.
if ((event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND) && ess.getSettings().registerBackInListener()) if ((event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND) && ess.getSettings().registerBackInListener())
@ -318,29 +318,25 @@ public class EssentialsPlayerListener implements Listener
{ {
return; return;
} }
if (ess.getSettings().getUpdateBedAtDaytime() && event.getClickedBlock().getType() == Material.BED_BLOCK) if (event.getClickedBlock().getType() == Material.BED_BLOCK && ess.getSettings().getUpdateBedAtDaytime())
{ {
event.getPlayer().setBedSpawnLocation(event.getClickedBlock().getLocation()); event.getPlayer().setBedSpawnLocation(event.getClickedBlock().getLocation());
} }
break; break;
case LEFT_CLICK_AIR:
case LEFT_CLICK_BLOCK: case LEFT_CLICK_BLOCK:
if (user.hasPowerTools() && user.arePowerToolsEnabled()) case LEFT_CLICK_AIR:
{ if (user.hasPowerTools() && user.arePowerToolsEnabled() && usePowertools(user, event.getItem()))
if (usePowertools(user))
{ {
event.setCancelled(true); event.setCancelled(true);
} }
}
break; break;
default: default:
break; break;
} }
} }
private boolean usePowertools(final User user) private boolean usePowertools(final User user, final ItemStack is)
{ {
final ItemStack is = user.getItemInHand();
int id; int id;
if (is == null || (id = is.getTypeId()) == 0) if (is == null || (id = is.getTypeId()) == 0)
{ {