Added button and lever logging

This commit is contained in:
Robin Kupper
2011-06-19 01:31:51 +02:00
parent a5e532f7f6
commit e0d599c488
4 changed files with 27 additions and 7 deletions

View File

@@ -22,7 +22,7 @@ public class Config
public final boolean useBukkitScheduler;
public final int keepLogDays;
public final boolean dumpDeletedLog;
public final boolean logBlockCreations, logBlockDestroyings, logSignTexts, logExplosions, logFire, logLeavesDecay, logLavaFlow, logChestAccess, logKills;
public final boolean logBlockCreations, logBlockDestroyings, logSignTexts, logExplosions, logFire, logLeavesDecay, logLavaFlow, logChestAccess, logButtonsAndLevers, logKills;
public final boolean logCreeperExplosionsAsPlayerWhoTriggeredThese;
public final LogKillsLevel logKillsLevel;
public final Set<Integer> dontRollback;
@@ -100,6 +100,8 @@ public class Config
config.setProperty("logging.logLavaFlow", false);
if (!subkeys.contains("logChestAccess"))
config.setProperty("logging.logChestAccess", false);
if (!subkeys.contains("logButtonsAndLevers"))
config.setProperty("logging.logButtonsAndLevers", false);
if (!subkeys.contains("logKills"))
config.setProperty("logging.logKills", false);
if (!subkeys.contains("logKillsLevel"))
@@ -159,6 +161,7 @@ public class Config
logCreeperExplosionsAsPlayerWhoTriggeredThese = config.getBoolean("logging.logCreeperExplosionsAsPlayerWhoTriggeredThese", false);
logFire = config.getBoolean("logging.logFire", false);
logChestAccess = config.getBoolean("logging.logChestAccess", false);
logButtonsAndLevers = config.getBoolean("logging.logButtonsAndLevers", false);
logLeavesDecay = config.getBoolean("logging.logLeavesDecay", false);
logLavaFlow = config.getBoolean("logging.logLavaFlow", false);
logKills = config.getBoolean("logging.logKills", false);

View File

@@ -30,7 +30,7 @@ public class HistoryFormatter
} else if (type == replaced) {
if (type == 0)
msg.append("did a unspecified action");
else if (type == 23 || type == 54 || type == 61) {
else if (type == 23 || type == 54 || type == 61 || type == 62) {
final int itemType = rs.getInt("itemtype");
final int itemAmount = rs.getInt("itemamount");
if (itemType == 0 || itemAmount == 0)
@@ -39,7 +39,10 @@ public class HistoryFormatter
msg.append("took " + itemAmount * -1 + "x " + getMaterialName(itemType));
else
msg.append("put in " + itemAmount + "x " + getMaterialName(itemType));
}
} else if (type == 69)
msg.append("swiched " + getMaterialName(type));
else if (type == 77)
msg.append("pressed " + getMaterialName(type));
} else if (type == 0)
msg.append("destroyed " + getMaterialName(replaced));
else if (replaced == 0)

View File

@@ -1,8 +1,10 @@
package de.diddiz.LogBlock;
import org.bukkit.Material;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerBucketEmptyEvent;
import org.bukkit.event.player.PlayerBucketFillEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerListener;
class LBPlayerListener extends PlayerListener
@@ -15,10 +17,11 @@ class LBPlayerListener extends PlayerListener
@Override
public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) {
if (event.getBucket() == Material.WATER_BUCKET)
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getFace(event.getBlockFace()).getLocation(), 9, (byte)0);
else if (event.getBucket() == Material.LAVA_BUCKET)
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getFace(event.getBlockFace()).getLocation(), 11, (byte)0);
if (!event.isCancelled())
if (event.getBucket() == Material.WATER_BUCKET)
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getFace(event.getBlockFace()).getLocation(), 9, (byte)0);
else if (event.getBucket() == Material.LAVA_BUCKET)
consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getFace(event.getBlockFace()).getLocation(), 11, (byte)0);
}
@Override
@@ -26,4 +29,13 @@ class LBPlayerListener extends PlayerListener
if (!event.isCancelled())
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 int type = event.getClickedBlock().getTypeId();
if (type == 69 || type == 77)
consumer.queueBlock(event.getPlayer().getName(), event.getClickedBlock().getLocation(), type, type, (byte)0);
}
}
}

View File

@@ -132,6 +132,8 @@ public class LogBlock extends JavaPlugin
log.warning("[LogBlock] BukkitContrib not found. Can't log chest accesses.");
if (config.logLavaFlow)
pm.registerEvent(Type.BLOCK_FROMTO, lbBlockListener, Priority.Monitor, this);
if (config.logButtonsAndLevers)
pm.registerEvent(Type.PLAYER_INTERACT, lbPlayerListener, Priority.Monitor, this);
if (config.logKills)
pm.registerEvent(Type.ENTITY_DAMAGE, lbEntityListener, Priority.Monitor, this);
if (config.useBukkitScheduler) {