ngl ts pmo
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -43,7 +43,5 @@ public final class CancelBreakBlockSystem extends EntityEventSystem<EntityStore,
|
||||
PlayerRef player = chunk.getComponent(chunkSlot, PlayerRef.getComponentType());
|
||||
if (player != null && buildMode.isOn(player.getUuid())) return;
|
||||
event.setCancelled(true);
|
||||
|
||||
player.sendMessage(Message.raw("you broke " + event.getBlockType().getId()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user