diff --git a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java index 3ac86e5..5052cb0 100755 --- a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java +++ b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java @@ -304,7 +304,6 @@ public class CommandsHandler implements CommandExecutor { final QueryParams params = new QueryParams(logblock); params.setPlayer(player.getName()); params.world = player.getWorld(); - player.sendMessage("Total block changes: " + logblock.getCount(params)); params.sum = SummarizationMode.TYPES; new CommandLookup(sender, params, true); } else { @@ -529,13 +528,21 @@ public class CommandsHandler implements CommandExecutor { if (!params.noCache) { getSession(sender).lookupCache = blockChangeArray; } - if (blockchanges.size() > linesPerPage) { - sender.sendMessage(ChatColor.DARK_AQUA.toString() + blockchanges.size() + " changes found." + (blockchanges.size() == linesLimit ? " Use 'limit -1' to see all changes." : "")); - } - if (params.sum != SummarizationMode.NONE) { + if (params.sum == SummarizationMode.NONE) { + if (blockchanges.size() > linesPerPage) { + sender.sendMessage(ChatColor.DARK_AQUA.toString() + blockchanges.size() + " changes found." + (blockchanges.size() == linesLimit ? " Use 'limit -1' to see all changes." : "")); + } + } else { + int totalChanges = 0; + for (LookupCacheElement element : blockchanges) { + totalChanges += element.getNumChanges(); + } + sender.sendMessage(ChatColor.DARK_AQUA.toString() + totalChanges + " changes found."); if (params.bct == BlockChangeType.KILLS && params.sum == SummarizationMode.PLAYERS) { + sender.sendMessage(ChatColor.DARK_AQUA.toString() + blockchanges.size() + " distinct players found."); sender.sendMessage(ChatColor.GOLD + "Kills - Killed - Player"); } else { + sender.sendMessage(ChatColor.DARK_AQUA.toString() + blockchanges.size() + " distinct " + (params.sum == SummarizationMode.TYPES ? (params.bct == BlockChangeType.ENTITIES ? "entities" : "blocks") : "players") + " found."); sender.sendMessage(ChatColor.GOLD + "Created - Destroyed - " + (params.sum == SummarizationMode.TYPES ? (params.bct == BlockChangeType.ENTITIES ? "Entity" : "Block") : "Player")); } } diff --git a/src/main/java/de/diddiz/LogBlock/LookupCacheElement.java b/src/main/java/de/diddiz/LogBlock/LookupCacheElement.java index 402ec8a..0bffb6b 100644 --- a/src/main/java/de/diddiz/LogBlock/LookupCacheElement.java +++ b/src/main/java/de/diddiz/LogBlock/LookupCacheElement.java @@ -11,4 +11,8 @@ public interface LookupCacheElement { } public BaseComponent[] getLogMessage(int entry); + + public default int getNumChanges() { + return 1; + } } diff --git a/src/main/java/de/diddiz/LogBlock/SummedBlockChanges.java b/src/main/java/de/diddiz/LogBlock/SummedBlockChanges.java index c9eceae..f7c36d9 100644 --- a/src/main/java/de/diddiz/LogBlock/SummedBlockChanges.java +++ b/src/main/java/de/diddiz/LogBlock/SummedBlockChanges.java @@ -34,4 +34,9 @@ public class SummedBlockChanges implements LookupCacheElement { public BaseComponent[] getLogMessage(int entry) { return MessagingUtil.formatSummarizedChanges(created, destroyed, actor != null ? new TextComponent(actor.getName()) : prettyMaterial(Objects.toString(MaterialConverter.getMaterial(type))), 10, 10, spaceFactor); } + + @Override + public int getNumChanges() { + return created + destroyed; + } } diff --git a/src/main/java/de/diddiz/LogBlock/SummedEntityChanges.java b/src/main/java/de/diddiz/LogBlock/SummedEntityChanges.java index 5677cb0..4c14f5f 100644 --- a/src/main/java/de/diddiz/LogBlock/SummedEntityChanges.java +++ b/src/main/java/de/diddiz/LogBlock/SummedEntityChanges.java @@ -36,4 +36,9 @@ public class SummedEntityChanges implements LookupCacheElement { public BaseComponent[] getLogMessage(int entry) { return MessagingUtil.formatSummarizedChanges(created, destroyed, actor != null ? new TextComponent(actor.getName()) : prettyMaterial(Objects.toString(EntityTypeConverter.getEntityType(type))), 10, 10, spaceFactor); } + + @Override + public int getNumChanges() { + return created + destroyed; + } } diff --git a/src/main/java/de/diddiz/LogBlock/SummedKills.java b/src/main/java/de/diddiz/LogBlock/SummedKills.java index 6151a73..2bec40c 100644 --- a/src/main/java/de/diddiz/LogBlock/SummedKills.java +++ b/src/main/java/de/diddiz/LogBlock/SummedKills.java @@ -28,4 +28,9 @@ public class SummedKills implements LookupCacheElement { public BaseComponent[] getLogMessage(int entry) { return MessagingUtil.formatSummarizedChanges(kills, killed, new TextComponent(player.getName()), 6, 7, spaceFactor); } + + @Override + public int getNumChanges() { + return kills + killed; + } }