diff --git a/pom.xml b/pom.xml index edac5a867..420d64fd8 100644 --- a/pom.xml +++ b/pom.xml @@ -267,11 +267,6 @@ - - jitpack.io - https://jitpack.io - - sonatype-snapshots https://oss.sonatype.org/content/repositories/snapshots @@ -340,9 +335,9 @@ test - com.github.Bixilon - ascii-table - 5375a4f + de.bixilon + jiibles + 1.0 org.lwjgl @@ -426,9 +421,9 @@ ${zstd.natives} - de.bixilon.bixilon + de.bixilon mbf-kotlin - 1.0 + 0.2.1 com.github.luben diff --git a/src/main/java/de/bixilon/minosoft/commands/stack/CommandStack.kt b/src/main/java/de/bixilon/minosoft/commands/stack/CommandStack.kt index 91f5237d3..3f9c33770 100644 --- a/src/main/java/de/bixilon/minosoft/commands/stack/CommandStack.kt +++ b/src/main/java/de/bixilon/minosoft/commands/stack/CommandStack.kt @@ -24,7 +24,6 @@ class CommandStack { var executor: Entity? = null lateinit var connection: PlayConnection - @Suppress("NON_PUBLIC_CALL_FROM_PUBLIC_INLINE") inline operator fun get(name: String): T? { return getAny(name).nullCast() } diff --git a/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt b/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt index 4bd432160..c571db06d 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt @@ -20,7 +20,7 @@ import de.bixilon.minosoft.ShutdownReasons import de.bixilon.minosoft.commands.nodes.RootNode import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection import de.bixilon.minosoft.terminal.commands.Commands -import de.bixilon.minosoft.terminal.commands.ConnectionCommand +import de.bixilon.minosoft.terminal.commands.connection.ConnectionCommand import de.bixilon.minosoft.util.ShutdownManager import org.jline.reader.* import org.jline.terminal.Terminal diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/Commands.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/Commands.kt index 1e0ffb84a..3b0e749cb 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/Commands.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/Commands.kt @@ -13,9 +13,12 @@ package de.bixilon.minosoft.terminal.commands +import de.bixilon.minosoft.terminal.commands.connection.SayCommand + object Commands { val COMMANDS: List = listOf( HelpCommand, SayCommand, + ConnectionManageCommand, ) } diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionManageCommand.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionManageCommand.kt new file mode 100644 index 000000000..5395221d6 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionManageCommand.kt @@ -0,0 +1,30 @@ +/* + * Minosoft + * Copyright (C) 2020-2022 Moritz Zwerger + * + * This program 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. + * + * This program 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 this program. If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ + +package de.bixilon.minosoft.terminal.commands + +import de.bixilon.jiibles.Table +import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedList +import de.bixilon.minosoft.commands.nodes.LiteralNode +import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection + +object ConnectionManageCommand : Command { + override var node = LiteralNode("connection") + .addChild(LiteralNode("list", executor = { + val table = Table(arrayOf("Id", "State", "Address")) + for (connection in PlayConnection.ACTIVE_CONNECTIONS.toSynchronizedList()) { + table += arrayOf(connection.connectionId, connection.state, connection.address) + } + println(table) + })) +} diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionCommand.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/connection/ConnectionCommand.kt similarity index 88% rename from src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionCommand.kt rename to src/main/java/de/bixilon/minosoft/terminal/commands/connection/ConnectionCommand.kt index 5724c0b1d..bd1030607 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionCommand.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/connection/ConnectionCommand.kt @@ -11,6 +11,8 @@ * This software is not affiliated with Mojang AB, the original developer of Minecraft. */ -package de.bixilon.minosoft.terminal.commands +package de.bixilon.minosoft.terminal.commands.connection + +import de.bixilon.minosoft.terminal.commands.Command interface ConnectionCommand : Command diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/SayCommand.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/connection/SayCommand.kt similarity index 95% rename from src/main/java/de/bixilon/minosoft/terminal/commands/SayCommand.kt rename to src/main/java/de/bixilon/minosoft/terminal/commands/connection/SayCommand.kt index e08e2d45b..30127e182 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/SayCommand.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/connection/SayCommand.kt @@ -11,7 +11,7 @@ * This software is not affiliated with Mojang AB, the original developer of Minecraft. */ -package de.bixilon.minosoft.terminal.commands +package de.bixilon.minosoft.terminal.commands.connection import de.bixilon.minosoft.commands.nodes.ArgumentNode import de.bixilon.minosoft.commands.nodes.LiteralNode