forked from LogBlock/LogBlock
Fixed some listeners for multiworld config
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user