From 0e601aa174d49c4552ba7b49acfb5c691a4f5450 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Wed, 3 Aug 2022 05:44:57 +0200 Subject: [PATCH] add config option if natural entity spawns should be logged --- src/main/java/de/diddiz/LogBlock/config/Config.java | 5 +++++ src/main/java/de/diddiz/LogBlock/config/WorldConfig.java | 5 +++++ .../de/diddiz/LogBlock/listeners/AdvancedEntityLogging.java | 3 +++ 3 files changed, 13 insertions(+) diff --git a/src/main/java/de/diddiz/LogBlock/config/Config.java b/src/main/java/de/diddiz/LogBlock/config/Config.java index d12aeb6..9512be0 100644 --- a/src/main/java/de/diddiz/LogBlock/config/Config.java +++ b/src/main/java/de/diddiz/LogBlock/config/Config.java @@ -360,6 +360,11 @@ public class Config { } return false; } + + public static boolean isLoggingNatualSpawns(World world) { + final WorldConfig wcfg = worldConfigs.get(world.getName()); + return wcfg != null && wcfg.logNaturalEntitySpawns; + } } class LoggingEnabledMapping { diff --git a/src/main/java/de/diddiz/LogBlock/config/WorldConfig.java b/src/main/java/de/diddiz/LogBlock/config/WorldConfig.java index da4f8e5..44964b5 100644 --- a/src/main/java/de/diddiz/LogBlock/config/WorldConfig.java +++ b/src/main/java/de/diddiz/LogBlock/config/WorldConfig.java @@ -34,6 +34,7 @@ public class WorldConfig extends LoggingEnabledMapping { public final String updateEntityUUIDString; private final EnumMap entityLogging = new EnumMap<>(EntityLogging.class); + public final boolean logNaturalEntitySpawns; public WorldConfig(String world, File file) throws IOException { this.world = world; @@ -56,6 +57,10 @@ public class WorldConfig extends LoggingEnabledMapping { } entityLogging.put(el, new EntityLoggingList(config.getStringList("entity." + el.name().toLowerCase()))); } + if (!config.isBoolean("entity.logNaturalSpawns")) { + config.set("entity.logNaturalSpawns", false); + } + logNaturalEntitySpawns = config.getBoolean("entity.logNaturalSpawns"); config.save(file); table = config.getString("table"); for (final Logging l : Logging.values()) { diff --git a/src/main/java/de/diddiz/LogBlock/listeners/AdvancedEntityLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/AdvancedEntityLogging.java index 457ffd6..6f71f93 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/AdvancedEntityLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/AdvancedEntityLogging.java @@ -159,6 +159,9 @@ public class AdvancedEntityLogging extends LoggingListener { } } if (actor == null) { + if (event.getSpawnReason() == SpawnReason.NATURAL && !Config.isLoggingNatualSpawns(entity.getWorld())) { + return; + } actor = new Actor(event.getSpawnReason().toString()); } queueEntitySpawnOrKill(entity, actor, EntityChange.EntityChangeType.CREATE);