From 2c52711126bc7c27ebd260cf9ca8752167678875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Chomczyk?= Date: Thu, 23 Nov 2023 18:13:16 +0100 Subject: [PATCH] GH-296 Add a contextual bind for console command source on Velocity platform (#296) * Add a contextual bind for console command source on Velocity platform * Update publish.yml --------- Co-authored-by: Norbert Dejlich --- .github/workflows/publish.yml | 4 ++-- .../tools/VelocityOnlyConsoleContextual.java | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 litecommands-velocity/src/main/java/dev/rollczi/litecommands/velocity/tools/VelocityOnlyConsoleContextual.java diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index dee096042..1233d2103 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,7 +1,7 @@ name: Publish LiteCommands on: push: - branches: [ master ] + branches: [ master, v2.x.x ] jobs: publish: runs-on: ubuntu-latest @@ -27,4 +27,4 @@ jobs: ETERNAL_CODE_MAVEN_USERNAME: ${{ secrets.ETERNAL_CODE_MAVEN_USERNAME }} ETERNAL_CODE_MAVEN_PASSWORD: ${{ secrets.ETERNAL_CODE_MAVEN_PASSWORD }} MINE_CODES_MAVEN_USERNAME: ${{ secrets.MINE_CODES_MAVEN_USERNAME }} - MINE_CODES_MAVEN_PASSWORD: ${{ secrets.MINE_CODES_MAVEN_PASSWORD }} \ No newline at end of file + MINE_CODES_MAVEN_PASSWORD: ${{ secrets.MINE_CODES_MAVEN_PASSWORD }} diff --git a/litecommands-velocity/src/main/java/dev/rollczi/litecommands/velocity/tools/VelocityOnlyConsoleContextual.java b/litecommands-velocity/src/main/java/dev/rollczi/litecommands/velocity/tools/VelocityOnlyConsoleContextual.java new file mode 100644 index 000000000..324b3f19f --- /dev/null +++ b/litecommands-velocity/src/main/java/dev/rollczi/litecommands/velocity/tools/VelocityOnlyConsoleContextual.java @@ -0,0 +1,23 @@ +package dev.rollczi.litecommands.velocity.tools; + +import com.velocitypowered.api.command.CommandSource; +import com.velocitypowered.api.proxy.ConsoleCommandSource; +import dev.rollczi.litecommands.command.Invocation; +import dev.rollczi.litecommands.contextual.Contextual; +import panda.std.Option; +import panda.std.Result; + +public class VelocityOnlyConsoleContextual implements Contextual { + + private final MESSAGE onlyConsoleMessage; + + public VelocityOnlyConsoleContextual(MESSAGE onlyConsoleMessage) { + this.onlyConsoleMessage = onlyConsoleMessage; + } + + @Override + public Result extract(CommandSource source, Invocation invocation) { + return Option.of(source).is(ConsoleCommandSource.class).toResult(onlyConsoleMessage); + } + +}