From d3bd73f7c5581ffbd5b3796d51441cea42f4f768 Mon Sep 17 00:00:00 2001 From: Ap_Tx <3045929398@qq.com> Date: Tue, 6 Oct 2026 21:04:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B0=83=E7=94=A8startTrackingObjective?= =?UTF-8?q?=E8=AE=A9=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=94=B6=E5=88=B0objective?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit load进来的objective未在trackedObjectives集合,客户端收不到。SERVER_STARTED时显式startTrackingObjective。 --- .../zly2006/carpetslsaddition/util/BoardManager.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/github/zly2006/carpetslsaddition/util/BoardManager.java b/src/main/java/com/github/zly2006/carpetslsaddition/util/BoardManager.java index f2f0c3c..0b9dc47 100644 --- a/src/main/java/com/github/zly2006/carpetslsaddition/util/BoardManager.java +++ b/src/main/java/com/github/zly2006/carpetslsaddition/util/BoardManager.java @@ -47,6 +47,13 @@ public final class BoardManager { Component.literal("挖掘榜"), ObjectiveCriteria.RenderType.INTEGER, true, null); ServerMain.LOGGER.info("[SLSA] created scoreboard objective {}", OBJ_MINED); } + // 让客户端能收到这两个 objective(load 进来的 objective 可能未被追踪) + if (sb instanceof net.minecraft.server.ServerScoreboard ssb) { + Objective d = sb.getObjective(OBJ_DEATHS); + if (d != null) ssb.startTrackingObjective(d); + Objective m = sb.getObjective(OBJ_MINED); + if (m != null) ssb.startTrackingObjective(m); + } } /** 读取某玩家的挖掘总数(遍历 stats map 中 BLOCK_MINED 类型条目)。 */