diff --git a/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt b/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt
index 00b7a88..35282a8 100644
--- a/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt
+++ b/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt
@@ -16,6 +16,7 @@ import club.mcscrims.speedhg.disaster.DisasterManager
import club.mcscrims.speedhg.game.GameManager
import club.mcscrims.speedhg.game.PodiumManager
import club.mcscrims.speedhg.game.modules.AntiRunningManager
+import club.mcscrims.speedhg.game.modules.LobbyAnnouncer
import club.mcscrims.speedhg.game.modules.LobbyItemManager
import club.mcscrims.speedhg.gui.listener.MenuListener
import club.mcscrims.speedhg.kit.KitManager
@@ -120,6 +121,9 @@ class SpeedHG : JavaPlugin() {
lateinit var tablistManager: TablistManager
private set
+ lateinit var lobbyAnnouncer: LobbyAnnouncer
+ private set
+
override fun onLoad()
{
instance = this
@@ -190,6 +194,9 @@ class SpeedHG : JavaPlugin() {
disasterManager = DisasterManager( this )
disasterManager.start()
+ lobbyAnnouncer = LobbyAnnouncer( this )
+ lobbyAnnouncer.start()
+
registerKits()
registerPerks()
registerCommands()
diff --git a/src/main/kotlin/club/mcscrims/speedhg/game/modules/LobbyAnnouncer.kt b/src/main/kotlin/club/mcscrims/speedhg/game/modules/LobbyAnnouncer.kt
new file mode 100644
index 0000000..fcb6a62
--- /dev/null
+++ b/src/main/kotlin/club/mcscrims/speedhg/game/modules/LobbyAnnouncer.kt
@@ -0,0 +1,54 @@
+package club.mcscrims.speedhg.game.modules
+
+import club.mcscrims.speedhg.SpeedHG
+import club.mcscrims.speedhg.game.GameState
+import net.kyori.adventure.text.minimessage.MiniMessage
+import org.bukkit.Bukkit
+import org.bukkit.scheduler.BukkitTask
+
+/**
+ * Sendet periodische Informationen während der Lobby-Phase
+ */
+class LobbyAnnouncer(
+ private val plugin: SpeedHG
+) {
+
+ private val mm = MiniMessage.miniMessage()
+ private var task: BukkitTask? = null
+
+ companion object {
+ private const val INTERVAL_TICKS = 30 * 20L
+ }
+
+ /**
+ * Startet den Timer für die Lobby-Ankündigungen.
+ */
+ fun start()
+ {
+ if (!plugin.config.getBoolean( "game.beta" ))
+ return
+
+ task = Bukkit.getScheduler().runTaskTimer( plugin, { ->
+ if ( plugin.gameManager.currentState != GameState.LOBBY )
+ return@runTaskTimer
+
+ val message = mm.deserialize(
+ "\n[BETA] " +
+ "SpeedHG is currently in Beta! Your feedback is extremely helpful for us.\n" +
+ "Please share your ideas and suggestions in the #ideas forum on our Discord!\n"
+ )
+
+ Bukkit.broadcast( message )
+ }, INTERVAL_TICKS, INTERVAL_TICKS )
+ }
+
+ /**
+ * Stoppt den Timer (z.B. beim Server-Shutdown).
+ */
+ fun stop()
+ {
+ task?.cancel()
+ task = null
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 8f4fefb..891b0c8 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -4,6 +4,7 @@
#
game:
+ beta: true
min-players: 2
lobby-time: 60
invincibility-time: 60
@@ -27,7 +28,7 @@ lunarclient:
variantName: 'SpeedHG - Solo'
teams:
- enabled: true
+ enabled: false
max-size: 2
recraftNerf: