From e0f55b9ac71776203fbc177b2b42c0c6861365bf Mon Sep 17 00:00:00 2001 From: ehko Date: Thu, 4 Jun 2026 16:48:47 -0400 Subject: [PATCH] ngl ts pmo --- src/main/java/net/kewwbec/hub/HubPlugin.java | 3 ++- .../hub/listener/HubMessageListener.java | 20 ++++++++++++++++--- .../protection/CancelBreakBlockSystem.java | 2 -- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/kewwbec/hub/HubPlugin.java b/src/main/java/net/kewwbec/hub/HubPlugin.java index afc54f0..af9f862 100644 --- a/src/main/java/net/kewwbec/hub/HubPlugin.java +++ b/src/main/java/net/kewwbec/hub/HubPlugin.java @@ -92,7 +92,8 @@ public final class HubPlugin extends JavaPlugin { protected void start() { this.worldService = new HubWorldService(config); HubJoinListener joinListener = new HubJoinListener(config, filter); - HubMessageListener messageListener = new HubMessageListener(config, filter); + HubMessageListener messageListener = new HubMessageListener(config, filter, + net.kewwbec.networkcore.NetworkCore.getInstance().getVanishService()); this.hudVisibility = new HubHudVisibility(config.inventory.hidden_hud_components); hudVisibility.setChangeListener(this::onHudVisibilityChange); HubInventoryListener inventoryListener = new HubInventoryListener(config.inventory, filter, hudVisibility); diff --git a/src/main/java/net/kewwbec/hub/listener/HubMessageListener.java b/src/main/java/net/kewwbec/hub/listener/HubMessageListener.java index af44298..f3e113f 100644 --- a/src/main/java/net/kewwbec/hub/listener/HubMessageListener.java +++ b/src/main/java/net/kewwbec/hub/listener/HubMessageListener.java @@ -9,10 +9,12 @@ import com.hypixel.hytale.server.core.universe.world.storage.EntityStore; import net.kewwbec.hub.config.HubConfig; import net.kewwbec.hub.protection.HubWorldFilter; import net.kewwbec.hub.util.HubMessageFormatter; +import net.kewwbec.networkcore.api.VanishService; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.UUID; +// Nullable already imported above /** * Replaces (or suppresses) Hytale's default join/leave broadcasts on hub worlds. @@ -26,32 +28,44 @@ public final class HubMessageListener { private final HubConfig config; private final HubWorldFilter filter; + @Nullable private final VanishService vanish; - public HubMessageListener(@Nonnull HubConfig config, @Nonnull HubWorldFilter filter) { + public HubMessageListener(@Nonnull HubConfig config, + @Nonnull HubWorldFilter filter, + @Nullable VanishService vanish) { this.config = config; this.filter = filter; + this.vanish = vanish; } public void onAdd(@Nonnull AddPlayerToWorldEvent event) { if (!filter.isHub(event.getWorld())) return; + Subject s = resolveSubject(event.getHolder()); + if (vanish != null && vanish.isVanished(s.uuid)) { + event.setBroadcastJoinMessage(false); + return; + } String template = config.messages.join_announcement; if (template == null || template.isBlank()) { event.setBroadcastJoinMessage(false); return; } - Subject s = resolveSubject(event.getHolder()); event.setJoinMessage(HubMessageFormatter.format(template, s.name, s.uuid)); event.setBroadcastJoinMessage(true); } public void onRemove(@Nonnull RemovedPlayerFromWorldEvent event) { if (!filter.isHub(event.getWorld())) return; + Subject s = resolveSubject(event.getHolder()); + if (vanish != null && vanish.isVanished(s.uuid)) { + event.setBroadcastLeaveMessage(false); + return; + } String template = config.messages.leave_announcement; if (template == null || template.isBlank()) { event.setBroadcastLeaveMessage(false); return; } - Subject s = resolveSubject(event.getHolder()); event.setLeaveMessage(HubMessageFormatter.format(template, s.name, s.uuid)); event.setBroadcastLeaveMessage(true); } diff --git a/src/main/java/net/kewwbec/hub/protection/CancelBreakBlockSystem.java b/src/main/java/net/kewwbec/hub/protection/CancelBreakBlockSystem.java index d2a2b63..b0c56e5 100644 --- a/src/main/java/net/kewwbec/hub/protection/CancelBreakBlockSystem.java +++ b/src/main/java/net/kewwbec/hub/protection/CancelBreakBlockSystem.java @@ -43,7 +43,5 @@ public final class CancelBreakBlockSystem extends EntityEventSystem