forked from LogBlock/LogBlock
Fixed some listeners for multiworld config
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package de.diddiz.LogBlock;
|
package de.diddiz.LogBlock;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.event.block.Action;
|
import org.bukkit.event.block.Action;
|
||||||
import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
||||||
@@ -10,29 +11,31 @@ import org.bukkit.event.player.PlayerListener;
|
|||||||
class LBPlayerListener extends PlayerListener
|
class LBPlayerListener extends PlayerListener
|
||||||
{
|
{
|
||||||
private final Consumer consumer;
|
private final Consumer consumer;
|
||||||
|
private final Map<Integer, WorldConfig> worlds;
|
||||||
|
|
||||||
LBPlayerListener(LogBlock logblock) {
|
LBPlayerListener(LogBlock logblock) {
|
||||||
consumer = logblock.getConsumer();
|
consumer = logblock.getConsumer();
|
||||||
|
worlds = logblock.getConfig().worlds;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) {
|
public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) {
|
||||||
if (!event.isCancelled())
|
final WorldConfig wcfg = worlds.get(event.getPlayer().getWorld().getName().hashCode());
|
||||||
if (event.getBucket() == Material.WATER_BUCKET)
|
if (!event.isCancelled() && wcfg != null && wcfg.logBlockCreations)
|
||||||
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getRelative(event.getBlockFace()).getLocation(), 9, (byte)0);
|
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getRelative(event.getBlockFace()).getLocation(), event.getBucket() == Material.WATER_BUCKET ? 9 : 11, (byte)0);
|
||||||
else if (event.getBucket() == Material.LAVA_BUCKET)
|
|
||||||
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getRelative(event.getBlockFace()).getLocation(), 11, (byte)0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerBucketFill(PlayerBucketFillEvent event) {
|
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());
|
consumer.queueBlockBreak(event.getPlayer().getName(), event.getBlockClicked().getState());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerInteract(PlayerInteractEvent event) {
|
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();
|
final int type = event.getClickedBlock().getTypeId();
|
||||||
if (type == 69 || type == 77)
|
if (type == 69 || type == 77)
|
||||||
consumer.queueBlock(event.getPlayer().getName(), event.getClickedBlock().getLocation(), type, type, (byte)0);
|
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
|
class LBToolListener extends PlayerListener
|
||||||
{
|
{
|
||||||
private final static BlockFace[] orientations = {BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST};
|
|
||||||
private final CommandsHandler handler;
|
private final CommandsHandler handler;
|
||||||
private final LogBlock logblock;
|
private final LogBlock logblock;
|
||||||
private final int toolID;
|
private final int toolID;
|
||||||
@@ -49,7 +48,7 @@ class LBToolListener extends PlayerListener
|
|||||||
else if (block.getTypeId() != 54 || params.radius != 0)
|
else if (block.getTypeId() != 54 || params.radius != 0)
|
||||||
params.setLocation(block.getLocation());
|
params.setLocation(block.getLocation());
|
||||||
else {
|
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)
|
if (block.getRelative(face).getTypeId() == 54)
|
||||||
params.setSelection(new CuboidSelection(player.getWorld(), block.getLocation(), block.getRelative(face).getLocation()));
|
params.setSelection(new CuboidSelection(player.getWorld(), block.getLocation(), block.getRelative(face).getLocation()));
|
||||||
if (params.sel == null)
|
if (params.sel == null)
|
||||||
|
|||||||
Reference in New Issue
Block a user