From 065e1cd5b8cb7404d8d2ac813684b1fe3dd74731 Mon Sep 17 00:00:00 2001 From: RettichLP Date: Sun, 7 Jun 2026 23:14:55 +0200 Subject: [PATCH 1/2] Simplify black market dealer entry pattern in `BadFactionListener` --- .../ucutils/listener/impl/faction/BadFactionListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/rettichlp/ucutils/listener/impl/faction/BadFactionListener.java b/src/main/java/de/rettichlp/ucutils/listener/impl/faction/BadFactionListener.java index 260bf97a..7a0502cc 100644 --- a/src/main/java/de/rettichlp/ucutils/listener/impl/faction/BadFactionListener.java +++ b/src/main/java/de/rettichlp/ucutils/listener/impl/faction/BadFactionListener.java @@ -21,7 +21,7 @@ @UCUtilsListener public class BadFactionListener implements IMessageReceiveListener { - private static final Pattern BLACK_MARKET_DEALER_ENTRY_PATTERN = compile("^» (?.+) – (gerade eben|vor \\d+ min|vor \\d+ std) {2}\\[Navi]$"); + private static final Pattern BLACK_MARKET_DEALER_ENTRY_PATTERN = compile("^» (?.+) – (gerade eben|vor \\d+ \\w+) {2}\\[Navi]$"); @Override public boolean onMessageReceive(Text text, String message) { From 6c1e3ff1d1ee7ca44eac376d3d88e6d8995c0e8c Mon Sep 17 00:00:00 2001 From: RettichLP Date: Sun, 7 Jun 2026 23:18:34 +0200 Subject: [PATCH 2/2] Add check to prevent redundant notifications for dealer positions in `ClientPlayNetworkHandlerMixin` --- .../ucutils/mixin/ClientPlayNetworkHandlerMixin.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/de/rettichlp/ucutils/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/de/rettichlp/ucutils/mixin/ClientPlayNetworkHandlerMixin.java index e1c06d32..ee81c8d5 100644 --- a/src/main/java/de/rettichlp/ucutils/mixin/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/de/rettichlp/ucutils/mixin/ClientPlayNetworkHandlerMixin.java @@ -86,6 +86,12 @@ private void onEntityTrackerUpdate(EntityTrackerUpdateS2CPacket packet, Callback String customNameString = requireNonNull(villager.getCustomName()).getString(); Vec3d entityPos = villager.getEntityPos(); + + // already notified check + if (entityPos.equals(storage.getDealerPosition()) || entityPos.equals(storage.getBlackMarketPosition())) { + return; + } + switch (customNameString) { case "Dealer" -> { storage.setBlackMarketPosition(entityPos);