From 91bbde29c86b8acaded13db255533102bca72daa Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Wed, 19 Jun 2019 17:27:58 +0100 Subject: [PATCH 1/2] feat: command list --- .../plugins/content/cmd/commands.plugin.kts | 22 +++++++++++++++++++ .../gg/rsmod/game/plugin/KotlinPlugin.kt | 4 ++++ .../gg/rsmod/game/plugin/PluginRepository.kt | 6 +++++ 3 files changed, 32 insertions(+) diff --git a/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts b/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts index da957c90b9..e61fe0d426 100644 --- a/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts +++ b/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts @@ -329,6 +329,28 @@ on_command("clip", Privilege.ADMIN_POWER) { } } +on_command("cmds", Privilege.ADMIN_POWER) { + val command = get_all_commands().joinToString() + val messages = ArrayList() + var buf = "" + val split = command.split(", ") + split.forEach { s -> + player.message(s) + buf += s + buf += ", " + if (buf.length > 75) { + messages.add(buf) + buf = "" + } + } + if(buf != "") { + buf = buf.substring(0, buf.length-2) + messages.add(buf) + } + player.message("Commands:") + messages.forEach { s -> player.message(s)} +} + fun tryWithUsage(player: Player, args: Array, failMessage: String, tryUnit: Function1, Unit>) { try { tryUnit.invoke(args) diff --git a/game/src/main/kotlin/gg/rsmod/game/plugin/KotlinPlugin.kt b/game/src/main/kotlin/gg/rsmod/game/plugin/KotlinPlugin.kt index 3a1d199b52..db13904f0b 100644 --- a/game/src/main/kotlin/gg/rsmod/game/plugin/KotlinPlugin.kt +++ b/game/src/main/kotlin/gg/rsmod/game/plugin/KotlinPlugin.kt @@ -516,6 +516,10 @@ abstract class KotlinPlugin(private val r: PluginRepository, val world: World, v */ fun on_item_on_npc(item: Int, npc: Int, plugin: Plugin.() -> Unit) = r.bindItemOnNpc(npc = npc, item = item, plugin = plugin) + fun get_all_commands(): ArrayList { + return r.get_all_commands() + } + companion object { private val METADATA_PATH = Paths.get("./plugins", "configs") } diff --git a/game/src/main/kotlin/gg/rsmod/game/plugin/PluginRepository.kt b/game/src/main/kotlin/gg/rsmod/game/plugin/PluginRepository.kt index 6b3f0742d1..a4140ce10d 100644 --- a/game/src/main/kotlin/gg/rsmod/game/plugin/PluginRepository.kt +++ b/game/src/main/kotlin/gg/rsmod/game/plugin/PluginRepository.kt @@ -1253,5 +1253,11 @@ class PluginRepository(val world: World) { } } + fun get_all_commands(): ArrayList { + val str_list = ArrayList() + commandPlugins.forEach { t, _ -> str_list.add(t) } + return str_list + } + companion object : KLogging() } \ No newline at end of file From e90020dc51063aa9d28e919a782dd6a34e70a2ec Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Wed, 19 Jun 2019 17:31:39 +0100 Subject: [PATCH 2/2] Remove debugging message --- .../kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts b/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts index e61fe0d426..9b52a8b28f 100644 --- a/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts +++ b/game/plugins/src/main/kotlin/gg/rsmod/plugins/content/cmd/commands.plugin.kts @@ -335,7 +335,6 @@ on_command("cmds", Privilege.ADMIN_POWER) { var buf = "" val split = command.split(", ") split.forEach { s -> - player.message(s) buf += s buf += ", " if (buf.length > 75) { @@ -358,4 +357,4 @@ fun tryWithUsage(player: Player, args: Array, failMessage: String, tryUn player.message(failMessage) e.printStackTrace() } -} \ No newline at end of file +}