Added snow form and fade logging

This commit is contained in:
Robin Kupper
2011-08-07 16:29:57 +02:00
parent 271d3c7e83
commit b6f703a42c
3 changed files with 36 additions and 3 deletions

View File

@@ -25,7 +25,7 @@ public class Config
public final boolean useBukkitScheduler;
public final int keepLogDays;
public final boolean dumpDeletedLog;
public boolean logBlockPlacings, logBlockBreaks, logSignTexts, logExplosions, logFire, logLeavesDecay, logLavaFlow, logWaterFlow, logChestAccess, logButtonsAndLevers, logKills, logChat;
public boolean logBlockPlacings, logBlockBreaks, logSignTexts, logExplosions, logFire, logLeavesDecay, logLavaFlow, logWaterFlow, logChestAccess, logButtonsAndLevers, logKills, logChat, logSnowForm, logSnowFade;
public final boolean logCreeperExplosionsAsPlayerWhoTriggeredThese;
public final LogKillsLevel logKillsLevel;
public final Set<Integer> dontRollback, replaceAnyway;
@@ -174,15 +174,18 @@ public class Config
logKills = true;
if (wcfg.logChat)
logChat = true;
if (wcfg.logSnowForm)
logSnowForm = true;
if (wcfg.logSnowFade)
logSnowFade = true;
}
}
}
class WorldConfig
{
public final String table;
public final boolean logBlockPlacings, logBlockBreaks, logSignTexts, logExplosions, logFire, logLeavesDecay, logLavaFlow, logWaterFlow, logChestAccess, logButtonsAndLevers, logKills, logChat;
public final boolean logBlockPlacings, logBlockBreaks, logSignTexts, logExplosions, logFire, logLeavesDecay, logLavaFlow, logWaterFlow, logChestAccess, logButtonsAndLevers, logKills, logChat, logSnowForm, logSnowFade;
public WorldConfig(File file) {
final Map<String, Object> def = new HashMap<String, Object>();
@@ -199,6 +202,8 @@ class WorldConfig
def.put("logButtonsAndLevers", false);
def.put("logKills", false);
def.put("logChat", false);
def.put("logSnowForm", false);
def.put("logSnowFade", false);
final Configuration config = new Configuration(file);
config.load();
for (final Entry<String, Object> e : def.entrySet())
@@ -218,5 +223,7 @@ class WorldConfig
logButtonsAndLevers = config.getBoolean("logButtonsAndLevers", false);
logKills = config.getBoolean("logKills", false);
logChat = config.getBoolean("logChat", false);
logSnowForm = config.getBoolean("logSnowForm", false);
logSnowFade = config.getBoolean("logSnowFade", false);
}
}

View File

@@ -16,6 +16,8 @@ import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockFadeEvent;
import org.bukkit.event.block.BlockFormEvent;
import org.bukkit.event.block.BlockFromToEvent;
import org.bukkit.event.block.BlockListener;
import org.bukkit.event.block.BlockPlaceEvent;
@@ -136,6 +138,26 @@ class LBBlockListener extends BlockListener
consumer.queueSignPlace(event.getPlayer().getName(), event.getBlock().getLocation(), event.getBlock().getTypeId(), event.getBlock().getData(), event.getLines());
}
@Override
public void onBlockForm(BlockFormEvent event) {
final WorldConfig wcfg = worlds.get(event.getBlock().getWorld().getName().hashCode());
if (!event.isCancelled() && wcfg != null) {
final int type = event.getNewState().getTypeId();
if (wcfg.logSnowForm && (type == 78 || type == 79))
consumer.queueBlockReplace("SnowForm", event.getBlock().getState(), event.getNewState());
}
}
@Override
public void onBlockFade(BlockFadeEvent event) {
final WorldConfig wcfg = worlds.get(event.getBlock().getWorld().getName().hashCode());
if (!event.isCancelled() && wcfg != null) {
final int type = event.getBlock().getTypeId();
if (wcfg.logSnowFade && (type == 78 || type == 79))
consumer.queueBlockReplace("SnowFade", event.getBlock().getState(), event.getNewState());
}
}
private void addError(String error) {
errors.add(error);
if (errors.size() == 20)

View File

@@ -186,6 +186,10 @@ public class LogBlock extends JavaPlugin
pm.registerEvent(Type.SIGN_CHANGE, lbBlockListener, Priority.Monitor, this);
if (config.logFire)
pm.registerEvent(Type.BLOCK_BURN, lbBlockListener, Priority.Monitor, this);
if (config.logSnowForm)
pm.registerEvent(Type.BLOCK_FORM, lbBlockListener, Priority.Monitor, this);
if (config.logSnowFade)
pm.registerEvent(Type.BLOCK_FADE, lbBlockListener, Priority.Monitor, this);
if (config.logExplosions)
pm.registerEvent(Type.ENTITY_EXPLODE, lbEntityListener, Priority.Monitor, this);
if (config.logLeavesDecay)