forked from LogBlock/LogBlock
Avoid syncronous query in /lb me
and improve changes count display in sumarized changes Fixes #819
This commit is contained in:
@@ -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 (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." : ""));
|
||||
}
|
||||
if (params.sum != SummarizationMode.NONE) {
|
||||
} 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"));
|
||||
}
|
||||
}
|
||||
|
@@ -11,4 +11,8 @@ public interface LookupCacheElement {
|
||||
}
|
||||
|
||||
public BaseComponent[] getLogMessage(int entry);
|
||||
|
||||
public default int getNumChanges() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user