notTamion / CommandClip

A Command Framework for Bukkit Plugins

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CommandClip CommandClip Build Status Latest Version

A Command Framework for Bukkit Plugins

Dependency

Gradle
repositories {
    mavenCentral()
}

dependencies {
    compileOnly("io.github.nottamion:commandclip:1.1.0")
}
Maven
<dependency>
    <groupId>io.github.nottamion</groupId>
    <artifactId>commandclip</artifactId>
    <version>1.1.0</version>
</dependency>

To reduce the file size of your plugin its recommended to let spigot download the framework for you. This also removes the need to shade the framework into your plugin jar.

plugin.yml
libraries:
  - io.github.nottamion:commandclip:1.1.0

Usage

Documentation is currently being built at https://github.com/notTamion/CommandClip/wiki.

For now just take a look at the example below.

Here is an example utilizing basic features:

new BaseCommand("hello", this)
    .subCommand(new SubCommand("there")
        .executes((commandSender, s, strings) -> {
            commandSender.sendMessage(s + " there " + strings[0]);
        })
        .tabCompletes((commandSender, s, strings) -> strings.length == 1 ? Bukkit.getOnlinePlayers().stream().map(Player::getName).toList(): List.of())
        .testArgs((commandSender, s, strings) -> {
            if (strings.length != 1)
                return "Please provide a valid playername";
            if (!Bukkit.getOnlinePlayers().stream().map(player -> player.getName()).toList().contains(strings[0]))
                return "Player is not online";
            return null;
        })
        .permission("hello.there", "You aren't allowed to get a Welcome :("))
    .alias("hi")
    .commandDescription("Welcomes you")
    .commandPermission("hello")
    .register();

About

A Command Framework for Bukkit Plugins

License:MIT License


Languages

Language:Java 100.0%