1
0
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:
Zrips 2020-04-02 17:22:20 +03:00
parent d1d467bc0d
commit 55e3eb8214
3 changed files with 19 additions and 19 deletions

View File

@ -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<>();

View File

@ -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()));
}

View File

@ -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) {