package us.myles.ViaVersion.api.command;

import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import us.myles.ViaVersion.commands.ViaCommandHandler;

public abstract class ViaSubCommand {
    /**
     * Subcommand name
     *
     * @return your input
     */
    public abstract String name();

    /**
     * subcommand description, this'll show in /viaversion list
     *
     * @return your input
     */
    public abstract String description();

    /**
     * Usage example:
     * "playerversion [name]"
     *
     * @return your input
     */
    public String usage(){
        return name();
    }

    /**
     * Permission, null for everyone
     * @return
     */
    public String permission(){
        return "viaversion.admin";
    }

    public abstract boolean execute(CommandSender sender, String[] args);

    public String color(String s){
        return ViaCommandHandler.color(s);
    }
}

@@ -763,24 +763,218 @@
 in%22;%0A    %7D%0A%0A
+    /**%0A     * Events get triggered on execution%0A     *%0A     * @param sender Command sender%0A     * @param args Arguments%0A     * @return command executed succesfully if false, show usage%0A     */%0A
     public a

Add javadoc