MCPcopy Create free account
hub / github.com/TyphoonMC/TyphoonCore / BukkitMessageConvert

Function BukkitMessageConvert

chat.go:202–247  ·  view source on GitHub ↗
(message string)

Source from the content-addressed store, hash-verified

200}
201
202func BukkitMessageConvert(message string) IChatComponent {
203 base := ChatMessage("")
204
205 current := base
206 buff := bytes.NewBufferString("")
207 for i := 0; i < len(message); i++ {
208 if message[i] == '&' && len(message) > i+1 {
209 if (message[i+1] >= '0' && message[i+1] <= '9') ||
210 (message[i+1] >= 'a' && message[i+1] <= 'f') ||
211 message[i+1] == 'r' {
212 // Create new node
213 current.Text = buff.String()
214 n := ChatMessage("")
215 current.AddExtra(n)
216 current = n
217 buff.Reset()
218 }
219
220 if message[i+1] >= '0' && message[i+1] <= '9' {
221 current.SetColor(&chatColorIds[message[i+1]-'0'])
222 } else if message[i+1] >= 'a' && message[i+1] <= 'f' {
223 current.SetColor(&chatColorIds[message[i+1]-'a'+10])
224 } else {
225 switch message[i+1] {
226 case 'k':
227 current.SetObfuscated(true)
228 case 'l':
229 current.SetBold(true)
230 case 'm':
231 current.SetStrikeThrough(true)
232 case 'n':
233 current.SetUnderlined(true)
234 case 'o':
235 current.SetItalic(true)
236 case 'r':
237 current.SetColor(&ChatColorWhite)
238 }
239 }
240 i += 1
241 } else {
242 buff.WriteByte(message[i])
243 }
244 }
245
246 return base
247}
248
249func (p *Player) SendMessage(message IChatComponent) {
250 msg, err := message.JSON()

Callers 1

SendBukkitMessageMethod · 0.85

Calls 8

ChatMessageFunction · 0.85
AddExtraMethod · 0.80
SetColorMethod · 0.80
SetObfuscatedMethod · 0.80
SetBoldMethod · 0.80
SetStrikeThroughMethod · 0.80
SetUnderlinedMethod · 0.80
SetItalicMethod · 0.80

Tested by

no test coverage detected