diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/player/autoqueue/ModuleAutoQueue.kt b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/player/autoqueue/ModuleAutoQueue.kt index f294793bab3..9bc9de1cb0e 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/player/autoqueue/ModuleAutoQueue.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/player/autoqueue/ModuleAutoQueue.kt @@ -22,12 +22,14 @@ import net.ccbluex.liquidbounce.features.module.Category import net.ccbluex.liquidbounce.features.module.ClientModule import net.ccbluex.liquidbounce.features.module.modules.player.autoqueue.modes.AutoQueueGommeDuels import net.ccbluex.liquidbounce.features.module.modules.player.autoqueue.modes.AutoQueueHypixelSW +import net.ccbluex.liquidbounce.features.module.modules.player.autoqueue.modes.AutoQueueMessage import net.ccbluex.liquidbounce.features.module.modules.player.autoqueue.modes.AutoQueuePaper object ModuleAutoQueue : ClientModule("AutoQueue", Category.PLAYER, aliases = arrayOf("AutoPlay")) { val modes = choices("Mode", AutoQueuePaper, arrayOf( + AutoQueueMessage, AutoQueuePaper, AutoQueueHypixelSW, - AutoQueueGommeDuels + AutoQueueGommeDuels, )).apply(::tagBy) } diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/player/autoqueue/modes/AutoQueueMessage.kt b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/player/autoqueue/modes/AutoQueueMessage.kt new file mode 100644 index 00000000000..f235f71b1f9 --- /dev/null +++ b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/player/autoqueue/modes/AutoQueueMessage.kt @@ -0,0 +1,58 @@ +/* + * This file is part of LiquidBounce (https://github.com/CCBlueX/LiquidBounce) + * + * Copyright (c) 2015 - 2025 CCBlueX + * + * LiquidBounce is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * LiquidBounce is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with LiquidBounce. If not, see . + * + * + */ + +package net.ccbluex.liquidbounce.features.module.modules.player.autoqueue.modes + +import net.ccbluex.liquidbounce.config.types.Choice +import net.ccbluex.liquidbounce.config.types.ChoiceConfigurable +import net.ccbluex.liquidbounce.event.events.ChatReceiveEvent +import net.ccbluex.liquidbounce.event.handler +import net.ccbluex.liquidbounce.features.module.modules.player.autoqueue.ModuleAutoQueue.modes + +/** + * Can be used for different server that use paper to join a game + */ +object AutoQueueMessage : Choice("Message") { + + private val text by text("Text", "Новая игра") + private val command by text("Command", "/next") + + override val parent: ChoiceConfigurable + get() = modes + + @Suppress("unused") + private val chatReceive = handler { event -> + val message = event.message + + if (event.type != ChatReceiveEvent.ChatType.GAME_MESSAGE) { + return@handler + } + + if (event.message.contains(text)) { + if (command.startsWith("/")) { + network.sendCommand(command.substring(1)) + } else { + network.sendChatMessage(command) + } + } + } + +}