From 23ab0c3457c336d871c3909a35543a1baace3f25 Mon Sep 17 00:00:00 2001 From: youpaishidifu Date: Wed, 22 Jul 2026 00:40:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=B0=E5=BD=95=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E5=8F=AA=E6=98=BE=E7=A4=BA=E6=9C=89=E6=95=B0=E6=8D=AE=E7=9A=84?= =?UTF-8?q?=E9=A1=B5=E6=95=B0=20-=20=E6=A3=80=E6=9F=A5=E4=B8=8B=E4=B8=80?= =?UTF-8?q?=E9=A1=B5=E6=95=B0=E6=8D=AE=E5=86=8D=E6=98=BE=E7=A4=BA=E4=B8=8B?= =?UTF-8?q?=E4=B8=80=E9=A1=B5=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/Sdf1_login/LandRecordManager.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/Sdf1_login/LandRecordManager.java b/src/main/java/Sdf1_login/LandRecordManager.java index adec8e6..5b2e541 100644 --- a/src/main/java/Sdf1_login/LandRecordManager.java +++ b/src/main/java/Sdf1_login/LandRecordManager.java @@ -340,12 +340,18 @@ public class LandRecordManager implements Listener { } } + // 检查下一页是否有数据(决定是否显示"下一页"链接) + boolean hasNext = false; + if (!plugin.getDb().getLandBlockLogAt(world, x, y, z, 1, page + 1).isEmpty()) hasNext = true; + if (!plugin.getDb().getLandContainerLogAt(world, x, y, z, 1, page + 1).isEmpty()) hasNext = true; + final int currentPage = page; + final boolean hasNextPage = hasNext; // 异步批量翻译 MaterialTranslator.translateBatch(materials) .thenAccept(translations -> { plugin.getServer().getScheduler().runTask(plugin, () -> { - printResults(p, x, y, z, blocks, containers, translations, currentPage); + printResults(p, x, y, z, blocks, containers, translations, currentPage, hasNextPage); }); }); } @@ -354,14 +360,14 @@ public class LandRecordManager implements Listener { List> blocks, List> containers, Map translations) { - printResults(p, x, y, z, blocks, containers, translations, 0); + printResults(p, x, y, z, blocks, containers, translations, 0, false); } private void printResults(Player p, int x, int y, int z, List> blocks, List> containers, Map translations, - int page) { + int page, boolean hasNext) { String pageLabel = page == 0 ? "今日" : (page == 1 ? "昨日" : (page + 1) + "日前"); p.sendMessage("§6§l[回声碎片] §e坐标 (" + x + "," + y + "," + z + ") 的记录§7(" + pageLabel + "):"); @@ -437,10 +443,12 @@ public class LandRecordManager implements Listener { nav = nav.append(Component.text(" §7| ")); } nav = nav.append(Component.text("§f第" + (page + 1) + "页")); - nav = nav.append(Component.text(" §7| ") - .append(Component.text("§e下一页 →") - .clickEvent(ClickEvent.runCommand("/landrec log " + (page + 2))) - .hoverEvent(HoverEvent.showText(Component.text("§7点击查看后一日记录"))))); + if (hasNext) { + nav = nav.append(Component.text(" §7| ") + .append(Component.text("§e下一页 →") + .clickEvent(ClickEvent.runCommand("/landrec log " + (page + 2))) + .hoverEvent(HoverEvent.showText(Component.text("§7点击查看后一日记录"))))); + } nav = nav.append(Component.text(" §7]")); p.sendMessage(nav); }