mirror of
https://github.com/Zrips/Jobs.git
synced 2025-02-12 18:31:32 +01:00
gtop command pagination fix
additional fix for sign updates after adding new sign
This commit is contained in:
parent
d1d467bc0d
commit
55e3eb8214
@ -58,7 +58,12 @@ public class SignUtil {
|
||||
|
||||
SignsByLocation.put(jSign.locToBlockString(), jSign);
|
||||
|
||||
HashMap<String, jobsSign> old = new HashMap<>();
|
||||
HashMap<String, jobsSign> old = SignsByType.get(jSign.getIdentifier().toLowerCase());
|
||||
if (old == null) {
|
||||
old = new HashMap<String, jobsSign>();
|
||||
SignsByType.put(jSign.getIdentifier().toLowerCase(), old);
|
||||
}
|
||||
|
||||
old.put(jSign.locToBlockString(), jSign);
|
||||
|
||||
SignsByType.put(jSign.getIdentifier().toLowerCase(), old);
|
||||
@ -172,19 +177,17 @@ public class SignUtil {
|
||||
}
|
||||
|
||||
public boolean SignUpdate(Job job, SignTopType type) {
|
||||
|
||||
if (!Jobs.getGCManager().SignsEnabled)
|
||||
return true;
|
||||
|
||||
if (job == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (type == null)
|
||||
type = SignTopType.toplist;
|
||||
|
||||
String JobNameOrType = jobsSign.getIdentifier(job, type);
|
||||
|
||||
HashMap<String, jobsSign> signs = this.SignsByType.get(JobNameOrType.toLowerCase());
|
||||
if (signs == null)
|
||||
if (signs == null || signs.isEmpty())
|
||||
return false;
|
||||
|
||||
List<TopList> PlayerList = new ArrayList<>();
|
||||
|
@ -56,16 +56,14 @@ public class gtop implements Cmd {
|
||||
|
||||
if (!Jobs.getGCManager().ShowToplistInScoreboard) {
|
||||
sender.sendMessage(Jobs.getLanguage().getMessage("command.gtop.output.topline", "%amount%", Jobs.getGCManager().JobsTopAmount));
|
||||
int i = 0;
|
||||
for (TopList One : FullList) {
|
||||
if (pi.isBreak())
|
||||
i++;
|
||||
if (i> Jobs.getGCManager().JobsTopAmount)
|
||||
break;
|
||||
|
||||
if (pi.isContinue())
|
||||
continue;
|
||||
|
||||
String PlayerName = One.getPlayerName();
|
||||
sender.sendMessage(Jobs.getLanguage().getMessage("command.gtop.output.list",
|
||||
"%number%", pi.getPositionForOutput(),
|
||||
"%number%", pi.getPositionForOutput(i-1),
|
||||
"%playername%", PlayerName,
|
||||
"%level%", One.getLevel(),
|
||||
"%exp%", One.getExp()));
|
||||
@ -74,16 +72,15 @@ public class gtop implements Cmd {
|
||||
Jobs.getInstance().ShowPagination(sender, pi, "jobs gtop");
|
||||
} else {
|
||||
List<String> ls = new ArrayList<>();
|
||||
int i = 0;
|
||||
for (TopList one : FullList) {
|
||||
if (pi.isBreak())
|
||||
i++;
|
||||
if (i> Jobs.getGCManager().JobsTopAmount)
|
||||
break;
|
||||
|
||||
if (pi.isContinue())
|
||||
continue;
|
||||
|
||||
String playername = one.getPlayerName() != null ? one.getPlayerName() : "Unknown";
|
||||
ls.add(Jobs.getLanguage().getMessage("scoreboard.line",
|
||||
"%number%", pi.getPositionForOutput(),
|
||||
"%number%", pi.getPositionForOutput(i),
|
||||
"%playername%", playername,
|
||||
"%level%", one.getLevel()));
|
||||
}
|
||||
|
@ -1656,7 +1656,7 @@ public abstract class JobsDAO {
|
||||
|
||||
prest = conn.prepareStatement("SELECT " + JobsTableFields.userid.getCollumn()
|
||||
+ ", COUNT(*) AS amount, sum(" + JobsTableFields.level.getCollumn() + ") AS totallvl FROM `" + getJobsTableName()
|
||||
+ "` GROUP BY userid ORDER BY totallvl DESC LIMIT " + start + ",100;");
|
||||
+ "` GROUP BY userid ORDER BY totallvl DESC LIMIT " + start + "," + (Jobs.getGCManager().JobsTopAmount * 2) + ";");
|
||||
res = prest.executeQuery();
|
||||
|
||||
while (res.next()) {
|
||||
@ -1667,7 +1667,7 @@ public abstract class JobsDAO {
|
||||
TopList top = new TopList(info, res.getInt("totallvl"), 0);
|
||||
names.add(top);
|
||||
|
||||
if (names.size() >= Jobs.getGCManager().JobsTopAmount)
|
||||
if (names.size() >= Jobs.getGCManager().JobsTopAmount * 2)
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
|
Loading…
Reference in New Issue
Block a user