From 83e5324986d003e2569efa9a3f589ef6f3b0bd08 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Thu, 18 Apr 2024 18:06:05 +0200 Subject: [PATCH] Update ViewFlag.FUSE --- .../bausystem/features/tracer/TraceManager.java | 6 +++--- .../features/tracer/rendering/ViewFlag.java | 13 ++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceManager.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceManager.java index e01aa675..bf853943 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceManager.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceManager.java @@ -285,7 +285,7 @@ public class TraceManager implements Listener { Region region = Region.getRegion(player.getLocation()); PlayerTraceShowData playerTraceShowData = showDataPerRegionPerPlayer .computeIfAbsent(region, ignored -> new HashMap<>()) - .computeIfAbsent(player, ignored -> new PlayerTraceShowData(BundleFilter.STRICT)); + .computeIfAbsent(player, ignored -> new PlayerTraceShowData(BundleFilter.DEFAULT)); AtFlag atFlag = playerTraceShowData.getViewFlag(AtFlag.class); if (atFlag == null) { @@ -315,7 +315,7 @@ public class TraceManager implements Listener { Region region = Region.getRegion(player.getLocation()); PlayerTraceShowData playerTraceShowData = showDataPerRegionPerPlayer .computeIfAbsent(region, ignored -> new HashMap<>()) - .computeIfAbsent(player, ignored -> new PlayerTraceShowData(BundleFilter.STRICT)); + .computeIfAbsent(player, ignored -> new PlayerTraceShowData(BundleFilter.DEFAULT)); IsolateFlag isolateFlag; if (playerTraceShowData.hasViewFlagOnly(IsolateFlag.class)) { @@ -324,7 +324,7 @@ public class TraceManager implements Listener { isolateFlag = new IsolateFlag(); playerTraceShowData.addViewFlag(isolateFlag); } else { - playerTraceShowData = new PlayerTraceShowData(BundleFilter.STRICT); + playerTraceShowData = new PlayerTraceShowData(BundleFilter.DEFAULT); isolateFlag = new IsolateFlag(); playerTraceShowData.addViewFlag(isolateFlag); showDataPerRegionPerPlayer.get(region).put(player, playerTraceShowData); diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java index ea47abac..f43ef173 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/rendering/ViewFlag.java @@ -163,7 +163,18 @@ public abstract class ViewFlag { @Override public void modify(REntityServer server, List entities) { for (TraceEntity entity : entities) { - entity.setDisplayName(String.valueOf(entity.getRecords().get(0).getFuse())); + List fuses = entity.getRecords() + .stream() + .map(TNTPoint::getFuse) + .distinct() + .sorted() + .map(i -> i + "") + .collect(Collectors.toList()); + if (fuses.size() <= 5) { + entity.setDisplayName(String.join(",", fuses)); + } else { + entity.setDisplayName(fuses.stream().limit(5).collect(Collectors.joining(",")) + ", +" + (fuses.size() - 5)); + } } } };