Skip to content
This repository was archived by the owner on Apr 20, 2026. It is now read-only.

Commit 09214ba

Browse files
author
burdo
committed
allow quick shouting with @#<channel> <message>
1 parent e759b37 commit 09214ba

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

src/main/java/com/ampznetwork/chatmod/lite/ChatModLite.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -281,15 +281,25 @@ public void dispatch(AsyncPlayerChatEvent event) {
281281
try {
282282
if (event.isCancelled()) return;
283283

284-
var msg = new ChatMessageParser().parse(event.getMessage());
284+
var plaintext = event.getMessage();
285+
286+
String quickShoutChannelName = null;
287+
if (plaintext.startsWith("@#")) {
288+
var endOfName = plaintext.indexOf(' ');
289+
quickShoutChannelName = plaintext.substring(2, endOfName);
290+
plaintext = plaintext.substring(endOfName + 1);
291+
}
292+
293+
var msg = new ChatMessageParser().parse(plaintext);
285294
var bukkitPlayer = event.getPlayer();
286295
var player = getOrCreatePlayer(bukkitPlayer);
287296
var playerName = Util.Kyori.sanitizePlain(bukkitPlayer.getDisplayName());
288-
var message = new ChatMessage(player, playerName, event.getMessage(), msg);
289-
var channel = channels.stream()
290-
.filter(chl -> chl.getPlayerIDs().contains(bukkitPlayer.getUniqueId()))
291-
.findAny()
292-
.orElseGet(channels::getFirst);
297+
var message = new ChatMessage(player, playerName, plaintext, msg);
298+
var channel = (quickShoutChannelName != null
299+
? channel(quickShoutChannelName)
300+
: channels.stream()
301+
.filter(chl -> chl.getPlayerIDs().contains(bukkitPlayer.getUniqueId()))
302+
.findAny()).orElseGet(channels::getFirst);
293303

294304
if (hasAccess(player.getId(), channel)) {
295305
var packet = new ChatMessagePacketImpl(PacketType.CHAT,

0 commit comments

Comments
 (0)