Skip to content

Commit 0a878f6

Browse files
committed
Added group variable, added local and global chats.
Added additional settings for chat.
1 parent 6641fbe commit 0a878f6

3 files changed

Lines changed: 26 additions & 8 deletions

File tree

src/main/kotlin/com/mairwunnx/projectessentials/chat/ChatUtils.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,14 @@ object ChatUtils {
7979
}
8080
return true
8181
}
82+
83+
fun isGlobalChat(event: ServerChatEvent): Boolean = event.message.startsWith('!')
84+
85+
fun getMessagePattern(event: ServerChatEvent): String {
86+
return when {
87+
!ChatModelBase.chatModel.messaging.enableRangedChat -> ChatModelBase.chatModel.messaging.messageCommonPattern
88+
isGlobalChat(event) -> ChatModelBase.chatModel.messaging.messageGlobalPattern
89+
else -> ChatModelBase.chatModel.messaging.messageLocalPattern
90+
}
91+
}
8292
}

src/main/kotlin/com/mairwunnx/projectessentials/chat/EntryPoint.kt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.mairwunnx.projectessentials.chat
22

3-
import com.mairwunnx.projectessentials.chat.models.ChatModelBase
43
import com.mairwunnx.projectessentialscore.EssBase
54
import com.mairwunnx.projectessentialscore.extensions.sendMsg
65
import com.mairwunnx.projectessentialspermissions.permissions.PermissionsAPI
76
import net.minecraft.util.text.TextComponentUtils
87
import net.minecraft.util.text.event.ClickEvent
9-
import net.minecraft.util.text.event.HoverEvent
108
import net.minecraftforge.common.MinecraftForge
119
import net.minecraftforge.event.ServerChatEvent
1210
import net.minecraftforge.eventbus.api.SubscribeEvent
@@ -72,23 +70,29 @@ class EntryPoint : EssBase() {
7270
}
7371

7472
val nicknameComponent = TextComponentUtils.toTextComponent {
75-
ChatModelBase.chatModel.messaging.messagePattern.replace(
73+
ChatUtils.getMessagePattern(event).replace(
7674
"%player", event.username
7775
)
7876
}.style.setClickEvent(
7977
ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/m ${event.username}")
80-
).setHoverEvent(HoverEvent(HoverEvent.Action.SHOW_ENTITY, event.component))
78+
)
8179

8280
event.component = TextComponentUtils.toTextComponent {
83-
ChatModelBase.chatModel.messaging.messagePattern.replace(
84-
"%type", "~"
81+
ChatUtils.getMessagePattern(event).replace(
82+
"%group", PermissionsAPI.getUserGroup(event.username).name
8583
).replace(
8684
"%player", event.username
8785
).replace(
88-
"%message", event.message
86+
"%message", event.component.formattedText
8987
).replace(
9088
"&", "§"
9189
)
9290
}.setStyle(nicknameComponent)
91+
92+
// if (!ChatUtils.isGlobalChat(event)) {
93+
// // get near player and send player messages
94+
// event.isCanceled = true
95+
// return
96+
// }
9397
}
9498
}

src/main/kotlin/com/mairwunnx/projectessentials/chat/models/ChatModel.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ data class ChatModel(
1919

2020
@Serializable
2121
data class Messaging(
22-
var messagePattern: String = "&7[&6%type&7] &7[&6%player&7]: &f%message"
22+
var messageGlobalPattern: String = "&8[&2GLOBAL&7] &a┃ &8[&6%player&8]&7: &f%message",
23+
var messageLocalPattern: String = "&8[&cLOCAL&7] &4┃ &8[&7%player&8]&7: &7§o%message",
24+
var messageCommonPattern: String = "&8[&7%player&8]&7: &f%message",
25+
var enableRangedChat: Boolean = true,
26+
var localChatRange: Int = 100
2327
)
2428
}

0 commit comments

Comments
 (0)