Fixed some listeners for multiworld config

This commit is contained in:
Robin Kupper
2011-07-24 18:55:18 +02:00
parent 4c13d111e4
commit d2a91263f8
2 changed files with 11 additions and 9 deletions
+10 -7
View File
@@ -1,5 +1,6 @@
package de.diddiz.LogBlock;
import java.util.Map;
import org.bukkit.Material;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerBucketEmptyEvent;
@@ -10,29 +11,31 @@ import org.bukkit.event.player.PlayerListener;
class LBPlayerListener extends PlayerListener
{
private final Consumer consumer;
private final Map<Integer, WorldConfig> worlds;
LBPlayerListener(LogBlock logblock) {
consumer = logblock.getConsumer();
worlds = logblock.getConfig().worlds;
}
@Override
public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) {
if (!event.isCancelled())
if (event.getBucket() == Material.WATER_BUCKET)
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getRelative(event.getBlockFace()).getLocation(), 9, (byte)0);
else if (event.getBucket() == Material.LAVA_BUCKET)
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getRelative(event.getBlockFace()).getLocation(), 11, (byte)0);
final WorldConfig wcfg = worlds.get(event.getPlayer().getWorld().getName().hashCode());
if (!event.isCancelled() && wcfg != null && wcfg.logBlockCreations)
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getRelative(event.getBlockFace()).getLocation(), event.getBucket() == Material.WATER_BUCKET ? 9 : 11, (byte)0);
}
@Override
public void onPlayerBucketFill(PlayerBucketFillEvent event) {
if (!event.isCancelled())
final WorldConfig wcfg = worlds.get(event.getPlayer().getWorld().getName().hashCode());
if (!event.isCancelled() && wcfg != null && wcfg.logBlockDestroyings)
consumer.queueBlockBreak(event.getPlayer().getName(), event.getBlockClicked().getState());
}
@Override
public void onPlayerInteract(PlayerInteractEvent event) {
if (!event.isCancelled() && (event.getAction() == Action.LEFT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_BLOCK)) {
final WorldConfig wcfg = worlds.get(event.getPlayer().getWorld().getName().hashCode());
if (!event.isCancelled() && wcfg != null && wcfg.logButtonsAndLevers && (event.getAction() == Action.LEFT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_BLOCK)) {
final int type = event.getClickedBlock().getTypeId();
if (type == 69 || type == 77)
consumer.queueBlock(event.getPlayer().getName(), event.getClickedBlock().getLocation(), type, type, (byte)0);
+1 -2
View File
@@ -12,7 +12,6 @@ import com.sk89q.worldedit.bukkit.selections.CuboidSelection;
class LBToolListener extends PlayerListener
{
private final static BlockFace[] orientations = {BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST};
private final CommandsHandler handler;
private final LogBlock logblock;
private final int toolID;
@@ -49,7 +48,7 @@ class LBToolListener extends PlayerListener
else if (block.getTypeId() != 54 || params.radius != 0)
params.setLocation(block.getLocation());
else {
for (final BlockFace face : orientations)
for (final BlockFace face : new BlockFace[]{BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST})
if (block.getRelative(face).getTypeId() == 54)
params.setSelection(new CuboidSelection(player.getWorld(), block.getLocation(), block.getRelative(face).getLocation()));
if (params.sel == null)