summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2011-12-07 10:53:06 +0100
committersnowleo <schneeleo@gmail.com>2011-12-07 10:53:06 +0100
commit879d4913dc404405ac5cd954719434d5115da75a (patch)
treec41d42f6d36a13245e5ef9d4ff932c8c61b45f30
parentef49d92c49a3f83a214a9a9ce970108a4611e1b4 (diff)
downloadEssentials-879d4913dc404405ac5cd954719434d5115da75a.tar
Essentials-879d4913dc404405ac5cd954719434d5115da75a.tar.gz
Essentials-879d4913dc404405ac5cd954719434d5115da75a.tar.lz
Essentials-879d4913dc404405ac5cd954719434d5115da75a.tar.xz
Essentials-879d4913dc404405ac5cd954719434d5115da75a.zip
/balancetop now has pages instead of max argument
Test #1210
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandbalancetop.java56
-rw-r--r--Essentials/src/com/earth2me/essentials/textreader/ArrayListInput.java31
-rw-r--r--Essentials/src/messages_da.properties2
-rw-r--r--Essentials/src/messages_de.properties2
-rw-r--r--Essentials/src/messages_en.properties2
-rw-r--r--Essentials/src/messages_es.properties2
-rw-r--r--Essentials/src/messages_fr.properties2
-rw-r--r--Essentials/src/messages_nl.properties2
-rw-r--r--Essentials/src/plugin.yml4
9 files changed, 61 insertions, 42 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbalancetop.java b/Essentials/src/com/earth2me/essentials/commands/Commandbalancetop.java
index e6e60ded5..5f73f84c2 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandbalancetop.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandbalancetop.java
@@ -3,6 +3,8 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Util;
+import com.earth2me.essentials.textreader.ArrayListInput;
+import com.earth2me.essentials.textreader.TextPager;
import java.text.DateFormat;
import java.util.*;
import java.util.Map.Entry;
@@ -19,27 +21,25 @@ public class Commandbalancetop extends EssentialsCommand
}
private static final int CACHETIME = 2 * 60 * 1000;
public static final int MINUSERS = 50;
- private static List<String> cache = new ArrayList<String>();
+ private static ArrayListInput cache = new ArrayListInput();
private static long cacheage = 0;
private static ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
@Override
protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
- int max = 10;
+ int page = 0;
boolean force = false;
if (args.length > 0)
{
try
{
- if (Integer.parseInt(args[0]) < 19)
- {
- max = Integer.parseInt(args[0]);
- }
+ page = Integer.parseInt(args[0]);
}
catch (NumberFormatException ex)
{
- if (args[0].equalsIgnoreCase("force") && sender.isOp()) {
+ if (args[0].equalsIgnoreCase("force") && sender.isOp())
+ {
force = true;
}
}
@@ -51,7 +51,7 @@ public class Commandbalancetop extends EssentialsCommand
{
if (cacheage > System.currentTimeMillis() - CACHETIME)
{
- outputCache(sender, max);
+ outputCache(sender, page);
return;
}
if (ess.getUserMap().getUniqueUsers() > MINUSERS)
@@ -63,7 +63,7 @@ public class Commandbalancetop extends EssentialsCommand
{
lock.readLock().unlock();
}
- ess.scheduleAsyncDelayedTask(new Viewer(sender, max, force));
+ ess.scheduleAsyncDelayedTask(new Viewer(sender, page, force));
}
else
{
@@ -71,26 +71,18 @@ public class Commandbalancetop extends EssentialsCommand
{
sender.sendMessage(_("orderBalances", ess.getUserMap().getUniqueUsers()));
}
- ess.scheduleAsyncDelayedTask(new Viewer(sender, max, force));
+ ess.scheduleAsyncDelayedTask(new Viewer(sender, page, force));
}
}
- private static void outputCache(final CommandSender sender, int max)
+ private static void outputCache(final CommandSender sender, int page)
{
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(cacheage);
final DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
- sender.sendMessage(_("balanceTop", max, format.format(cal.getTime())));
- for (String line : cache)
- {
- if (max == 0)
- {
- break;
- }
- max--;
- sender.sendMessage(line);
- }
+ sender.sendMessage(_("balanceTop", format.format(cal.getTime())));
+ new TextPager(cache).showPage(Integer.toString(page), "", "balancetop", sender);
}
@@ -113,7 +105,7 @@ public class Commandbalancetop extends EssentialsCommand
{
if (force || cacheage <= System.currentTimeMillis() - CACHETIME)
{
- cache.clear();
+ cache.getLines().clear();
final Map<String, Double> balances = new HashMap<String, Double>();
for (String u : ess.getUserMap().getAllUniqueUsers())
{
@@ -133,15 +125,11 @@ public class Commandbalancetop extends EssentialsCommand
return -entry1.getValue().compareTo(entry2.getValue());
}
});
- int count = 0;
+ int pos = 1;
for (Map.Entry<String, Double> entry : sortedEntries)
{
- if (count == 20)
- {
- break;
- }
- cache.add(entry.getKey() + ", " + Util.formatCurrency(entry.getValue(), ess));
- count++;
+ cache.getLines().add(pos + ". " + entry.getKey() + ", " + Util.formatCurrency(entry.getValue(), ess));
+ pos++;
}
cacheage = System.currentTimeMillis();
}
@@ -158,13 +146,13 @@ public class Commandbalancetop extends EssentialsCommand
private class Viewer implements Runnable
{
private final transient CommandSender sender;
- private final transient int max;
+ private final transient int page;
private final transient boolean force;
- public Viewer(final CommandSender sender, final int max, final boolean force)
+ public Viewer(final CommandSender sender, final int page, final boolean force)
{
this.sender = sender;
- this.max = max;
+ this.page = page;
this.force = force;
}
@@ -176,7 +164,7 @@ public class Commandbalancetop extends EssentialsCommand
{
if (!force && cacheage > System.currentTimeMillis() - CACHETIME)
{
- outputCache(sender, max);
+ outputCache(sender, page);
return;
}
}
@@ -184,7 +172,7 @@ public class Commandbalancetop extends EssentialsCommand
{
lock.readLock().unlock();
}
- ess.scheduleAsyncDelayedTask(new Calculator(new Viewer(sender, max, force), force));
+ ess.scheduleAsyncDelayedTask(new Calculator(new Viewer(sender, page, force), force));
}
}
}
diff --git a/Essentials/src/com/earth2me/essentials/textreader/ArrayListInput.java b/Essentials/src/com/earth2me/essentials/textreader/ArrayListInput.java
new file mode 100644
index 000000000..0da83f3b4
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/textreader/ArrayListInput.java
@@ -0,0 +1,31 @@
+package com.earth2me.essentials.textreader;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+
+public class ArrayListInput implements IText
+{
+ private final transient List<String> lines = new ArrayList<String>();
+
+ @Override
+ public List<String> getLines()
+ {
+ return lines;
+ }
+
+ @Override
+ public List<String> getChapters()
+ {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public Map<String, Integer> getBookmarks()
+ {
+ return Collections.emptyMap();
+ }
+
+}
diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties
index 3c85d7a07..48c149bb2 100644
--- a/Essentials/src/messages_da.properties
+++ b/Essentials/src/messages_da.properties
@@ -15,7 +15,7 @@ backUsageMsg=\u00a77Teleporterer til tidligere placering.
backupFinished=Backup sluttet
backupStarted=Backup startet
balance=\u00a77Saldo: {0}
-balanceTop=\u00a77 Top {0} saldoer ({1})
+balanceTop=\u00a77 Top saldoer ({0})
banExempt=\u00a7cDu kan ikke banne den p\u00e5g\u00e6ldende spiller.
banIpAddress=\u00a77Bannede IP addresse
bannedIpsFileError=Fejl i afl\u00e6sning af banned-ips.txt
diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties
index c51be842f..980cbdeb9 100644
--- a/Essentials/src/messages_de.properties
+++ b/Essentials/src/messages_de.properties
@@ -15,7 +15,7 @@ backUsageMsg=\u00a77Kehre zur letzten Position zur\u00fcck.
backupFinished=Backup beendet
backupStarted=Backup gestartet
balance=\u00a77Geldb\u00f6rse: {0}
-balanceTop=\u00a77 Top {0} Guthaben ({1})
+balanceTop=\u00a77 Top Guthaben ({0})
banExempt=\u00a7cDu kannst diesen Spieler nicht sperren.
banIpAddress=\u00a77IP-Adresse gesperrt.
bannedIpsFileError=Fehler beim Lesen von banned-ips.txt
diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties
index 6031d3996..5800b1488 100644
--- a/Essentials/src/messages_en.properties
+++ b/Essentials/src/messages_en.properties
@@ -15,7 +15,7 @@ backUsageMsg=\u00a77Returning to previous location.
backupFinished=Backup finished
backupStarted=Backup started
balance=\u00a77Balance: {0}
-balanceTop=\u00a77 Top {0} balances ({1})
+balanceTop=\u00a77 Top balances ({0})
banExempt=\u00a7cYou can not ban that player.
banIpAddress=\u00a77Banned IP address
bannedIpsFileError=Error reading banned-ips.txt
diff --git a/Essentials/src/messages_es.properties b/Essentials/src/messages_es.properties
index 3f7b47c59..60a3a2db3 100644
--- a/Essentials/src/messages_es.properties
+++ b/Essentials/src/messages_es.properties
@@ -15,7 +15,7 @@ backUsageMsg=\u00a77Volviendo a la localizacion anterior.
backupFinished=Copia de seguridad completada
backupStarted=Comenzando copia de seguridad
balance=\u00a77Cantidad: {0}
-balanceTop=\u00a77Top {0} cantidades ({1})
+balanceTop=\u00a77Top cantidades ({0})
banExempt=\u00a7cNo puedes banear a ese jugador
banIpAddress=\u00a77Direccion IP baneada
bannedIpsFileError=Error leyendo banned-ips.txt
diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties
index 2e75c271e..6dbd93746 100644
--- a/Essentials/src/messages_fr.properties
+++ b/Essentials/src/messages_fr.properties
@@ -15,7 +15,7 @@ backUsageMsg=\u00a77Retour \u00e0 votre emplacement pr\u00e9c\u00c3\u00a8dent.
backupFinished=Sauvegarde termin\u00e9
backupStarted=D\u00e9but de la sauvegarde
balance=\u00a77Solde : {0}
-balanceTop=\u00a77 Meilleurs {0} soldes ({1})
+balanceTop=\u00a77 Meilleurs soldes ({0})
banExempt=\u00a77Vous ne pouvez pas bannir ce joueur.
banIpAddress=\u00a77Adresse IP bannie
bannedIpsFileError=Erreur de lecture de banned-ips.txt
diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties
index 95c5e27dc..4d26e0a0c 100644
--- a/Essentials/src/messages_nl.properties
+++ b/Essentials/src/messages_nl.properties
@@ -15,7 +15,7 @@ backUsageMsg=\u00a77Naar de vorige locatie aan het gaan.
backupFinished=Backup voltooid
backupStarted=Backup gestart
balance=\u00a77Saldo: {0}
-balanceTop=\u00a77 Top {0} saldi ({1})
+balanceTop=\u00a77 Top saldi ({0})
banExempt=\u00a77Je kunt deze speler niet verbannen.
banIpAddress=\u00a77Verbannen IP-adres
bannedIpsFileError=Fout bij het lezen van banned-ips.txt
diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml
index 5fa22dd8f..275501ab5 100644
--- a/Essentials/src/plugin.yml
+++ b/Essentials/src/plugin.yml
@@ -28,8 +28,8 @@ commands:
usage: /<command> [player]
aliases: [bal,emoney,ebalance,ebal]
balancetop:
- description: Gets the top x balance values. (max 10)
- usage: /<command> <max>
+ description: Gets the top balance values.
+ usage: /<command> <page>
aliases: [baltop,ebaltop,ebalancetop]
ban:
description: Bans a player.