Delegate
  • Delegate Framework
    • Framework Overview
    • Feature Overview
  • Commands
    • First Command
    • Command Attributes
      • Arguments
      • Actions
      • Properties & Definitions
  • Tutorials / Examples
    • Getting Started
    • 👋Hello, World!
Powered by GitBook
On this page
  1. Delegate Framework

Feature Overview

This page describes the features of Delegate

General Features

The goal of Delegate is to be a command framework that is intuitive, lightweight but also feature-rich. At it's core, Delegate supports all features supported by other command frameworks, which include:

  • Commands (& sub-commands)

  • Argument parsing and resolving

  • Automatic command registration (no need for command definitions in the plugin.yml)

  • Tab-completion

Furthermore, Delegate introduces many other features which separate Delegate from other run-off the mill command frameworks. These features include:

  • Actions - Allow you to separate tasks when executing a command

  • Triggers - Special actions if a command succeeds/fails

  • Translations - Built-in localization utilities

List of features
  • Command (& sub-command) creation/handling/registration

  • Argument parsing/validation/type & context resolving/rule-checking

  • Tab-completion

  • Separable (context-based) actions

  • Command triggers

  • Built-in translations API

  • Automated command help-formatting

  • Command histories

  • Command permissions

  • Command macros

  • Command timers

Development Features

Paradigms

Programming is an artform. Many developers prefer to use different programming paradigms. Therefor, Delegate offers two paradigms to construct commands to make it easier to switch from one command framework to another.

  • The annotation-driven design allows you to build commands using annotations, reminiscent of various other popular command frameworks.

Platform-agnostic Implementation

Delegate's core is built to be platform agnostic. This allows Delegate to provide support for various server platforms. The following platforms are included (or planned):

  • Bukkit/SpigotMC

  • Paper

  • Velocity (WIP)

  • Sponge (Planned)

  • BungeeCord (Planned)

  • Waterfall (Planned)

Besides the fact that it is platform agnostic, it also allows for integration with other frameworks:

Logging

While developing, you can enable logging so that you can easily see what it happening under the hood if something goes wrong.

PreviousFramework OverviewNextCommands

Last updated 1 year ago

The design allows you to use a builder-like paradigm to construct commands.

- Mojang's custom command framework

- Provides REST-wrappers for the Discord REST API

fluent-interface
Mojang Brigadier
Java Discord API (JDA)