Skip to content

Commit 3dac905

Browse files
committed
fix: minimessage message won't get serialized on bungeecord
1 parent 3611b25 commit 3dac905

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

command-bungeecord/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ plugins {
55
dependencies {
66
api(project(":command-shared"))
77
api(libs.bungeecord.api)
8+
api(libs.adveture.platform.bungeecord)
89
api(libs.cloud.bungeecord)
910
}
1011

command-bungeecord/src/main/kotlin/app/simplecloud/plugin/command/bungeecord/BungeeCordPlugin.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@ package app.simplecloud.plugin.command.bungeecord
33
import app.simplecloud.plugin.command.shared.CloudCommandHandler
44
import app.simplecloud.plugin.command.shared.CloudSender
55
import app.simplecloud.plugin.command.shared.CommandPlugin
6-
import app.simplecloud.plugin.command.shared.config.MessageConfig
7-
import app.simplecloud.plugin.command.shared.config.YamlConfig
6+
import net.kyori.adventure.platform.bungeecord.BungeeAudiences
87
import net.md_5.bungee.api.CommandSender
9-
import net.md_5.bungee.api.connection.ProxiedPlayer
108
import net.md_5.bungee.api.plugin.Plugin
119
import org.incendo.cloud.SenderMapper
1210
import org.incendo.cloud.bungee.BungeeCommandManager
1311
import org.incendo.cloud.execution.ExecutionCoordinator
1412

13+
1514
/**
1615
* @author Fynn Bauer in 2024
1716
*/
@@ -20,6 +19,8 @@ class BungeeCordPlugin(): Plugin() {
2019
private lateinit var commandManager: BungeeCommandManager<CloudSender>
2120
private lateinit var commandPlugin: CommandPlugin
2221

22+
private val adventure = BungeeAudiences.create(this)
23+
2324
override fun onEnable() {
2425
commandPlugin = CommandPlugin(this.dataFolder.path)
2526

@@ -28,7 +29,7 @@ class BungeeCordPlugin(): Plugin() {
2829
val executionCoordinator = ExecutionCoordinator.simpleCoordinator<CloudSender>()
2930

3031
val senderMapper = SenderMapper.create<CommandSender, CloudSender>(
31-
{ commandSender -> BungeeCordSender(commandSender) },
32+
{ commandSender -> BungeeCordSender(commandSender, this) },
3233
{ cloudSender -> (cloudSender as BungeeCordSender).getCommandSender() }
3334
)
3435

@@ -42,4 +43,13 @@ class BungeeCordPlugin(): Plugin() {
4243
cloudCommandHandler.createCloudCommand()
4344
}
4445

46+
override fun onDisable() {
47+
adventure.close()
48+
}
49+
50+
fun adventure(): BungeeAudiences {
51+
checkNotNull(this.adventure) { "Cannot retrieve audience provider while plugin is not enabled" }
52+
return this.adventure
53+
}
54+
4555
}

command-bungeecord/src/main/kotlin/app/simplecloud/plugin/command/bungeecord/BungeeCordSender.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,18 @@ package app.simplecloud.plugin.command.bungeecord
22

33
import app.simplecloud.plugin.command.shared.CloudSender
44
import net.kyori.adventure.text.Component
5-
import net.kyori.adventure.text.minimessage.MiniMessage
65
import net.md_5.bungee.api.CommandSender
76

87
/**
98
* @author Fynn Bauer in 2024
109
*/
11-
class BungeeCordSender(private val commandSender: CommandSender): CloudSender {
10+
class BungeeCordSender(private val commandSender: CommandSender, private val plugin: BungeeCordPlugin): CloudSender {
1211

1312
fun getCommandSender(): CommandSender {
1413
return commandSender
1514
}
1615

1716
override fun sendMessage(message: Component) {
18-
commandSender.sendMessage(MiniMessage.miniMessage().serialize(message))
17+
plugin.adventure().sender(commandSender).sendMessage(message)
1918
}
2019
}

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ cloud-bungeecord = "2.0.0-beta.10"
99
velocity = "3.4.0-SNAPSHOT"
1010
bungeecord-api = "1.21-R0.1-SNAPSHOT"
1111
adventure-api = "4.17.0"
12+
adventure-platform-bungeecord = "4.3.4"
1213
adventure-text-minimessage = "4.17.0"
1314
minotaur = "2.8.7"
1415

@@ -22,6 +23,7 @@ cloud-bungeecord = { module = "org.incendo:cloud-bungee", version.ref = "cloud-b
2223
velocity-api = { module = "com.velocitypowered:velocity-api", version.ref = "velocity" }
2324
bungeecord-api = { module = "net.md-5:bungeecord-api", version.ref = "bungeecord-api" }
2425
adventure-api = { module = "net.kyori:adventure-api", version.ref = "adventure-api" }
26+
adveture-platform-bungeecord = { module = "net.kyori:adventure-platform-bungeecord", version.ref = "adventure-platform-bungeecord" }
2527
adventure-text-minimessage = { module = "net.kyori:adventure-text-minimessage", version.ref = "adventure-text-minimessage" }
2628

2729
[plugins]

0 commit comments

Comments
 (0)