Skip to content

Commit 3ad9f54

Browse files
Added broadcast prefix.
1 parent 5085d44 commit 3ad9f54

5 files changed

Lines changed: 16 additions & 4 deletions

File tree

src/main/java/NoMathExpectation/chatExchange/neoForged/mixin/ServerGamePacketListenerImplMixin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ private ServerboundChatPacket onHandleChat(ServerboundChatPacket packet) {
4040
)
4141
);
4242

43+
if (!ChatExchangeConfig.INSTANCE.getChat().get() || data.isIgnoredPlayer(player.getUUID())) {
44+
newString = ChatExchangeConfig.INSTANCE.getBroadcastPrefix().get() + newString;
45+
}
4346
return new ServerboundChatPacket(newString, packet.timeStamp(), packet.salt(), packet.signature(), packet.lastSeenMessages());
4447
}
4548
}

src/main/kotlin/NoMathExpectation/chatExchange/neoForged/ChatExchangeConfig.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,14 @@ object ChatExchangeConfig {
6464
.translation("modid.config.advancement")
6565
.define("advancement", true)
6666

67-
val commandBroadcastFormat = builder.comment("The message format when player broadcast message using the command.")
67+
val broadcastPrefix: ModConfigSpec.ConfigValue<String> = builder.comment("The prefix to prepend when the chat message is being broadcast manually.")
68+
.translation("modid.config.broadcastPrefix")
69+
.define("broadcastPrefix", "")
70+
val commandBroadcastFormat: ModConfigSpec.ConfigValue<String> = builder.comment("The message format when player broadcast message using the command.", "Will not prepend broadcast prefix.")
6871
.translation("modid.config.commandBroadcastFormat")
6972
.define("commandBroadcastFormat", "\"<%s> %s\"")
7073

71-
val spec = builder.build()
74+
val spec: ModConfigSpec = builder.build()
7275

7376
private var registered = false
7477
internal fun register() {

src/main/kotlin/NoMathExpectation/chatExchange/neoForged/NeoForgeEvents.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,16 @@ object NeoForgeEvents {
6060
message = newMessage
6161
}
6262

63-
event.message = message
63+
event.message = if (!ChatExchangeConfig.chat.get() || data.isIgnoredPlayer(event.player.uuid)) {
64+
Component.literal(ChatExchangeConfig.broadcastPrefix.get()).append(message)
65+
} else {
66+
message
67+
}
6468

6569
ExchangeServer.sendEvent(
6670
MessageEvent(
6771
ExchangeServer.componentToString(event.player.name),
68-
ExchangeServer.componentToString(message)
72+
ExchangeServer.componentToString(message),
6973
)
7074
)
7175
}

src/main/resources/assets/chatexchange/lang/en_us.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"modid.config.joinLeave": "Enable Join/Leave",
1414
"modid.config.death": "Enable Death",
1515
"modid.config.advancement": "Enable Advancement",
16+
"modid.config.broadcastPrefix": "Broadcast Prefix",
1617
"modid.config.commandBroadcastFormat": "Command Broadcast Format",
1718
"chatexchange.command.chatexchange.description": "§3§lChatExchange Help§r\nIf the server has enabled broadcasting chat messages, your chat messages will be broadcast to an external port by default.\nYou can use /chatexchange broadcastme to control whether your chat messages will be broadcast.\nAlso, you can broadcast your messages by prefixing @broadcast/@bc.",
1819
"chatexchange.command.chatexchange.status": "Chat: %s\nJoin/Leave: %s\nDeath: %s\nAdvancement: %s",

src/main/resources/assets/chatexchange/lang/zh_cn.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"modid.config.joinLeave": "启用加入/离开消息",
1414
"modid.config.death": "启用死亡消息",
1515
"modid.config.advancement": "启用进度消息",
16+
"modid.config.broadcastPrefix": "广播前缀",
1617
"modid.config.commandBroadcastFormat": "命令广播格式",
1718
"chatexchange.command.chatexchange.description": "§3§lChatExchange 帮助§r\n若服务器开启了广播聊天消息,你的聊天消息默认会被自动广播到外部端口。\n你可以使用 /chatexchange broadcastme 来控制你的消息是否被广播。\n同时,在发送消息前加上@广播/@broadcast/@bc前缀也可以广播你的消息。",
1819
"chatexchange.command.chatexchange.status": "聊天消息: %s\n加入/离开消息: %s\n死亡消息: %s\n进度消息: %s",

0 commit comments

Comments
 (0)