Git Product home page Git Product logo

acf's Introduction

Annotation Command Framework (ACF)

Purpose

This is the Framework created for Empire Minecraft.

ACF Started as a Bukkit Command Framework, but has shifted to be platform agnostic and can be used on any Java based application.

ACF is an extremely powerful command framework that takes nearly every concept of boilerplate code commonly found in command handlers, and abstracts them away behind annotations.

ACF redefines how you build your command handlers, allowing things such as Dependency Injection, Validation, Tab Completion, Help Documentation, Syntax Advice, and Stateful Conditions to all be behind Annotations that you place on methods.

Clean up your command handlers and unleash rich command experiences that would be too burdensome to pull off manually.

Beta Testing

While the 0.x.x series of ACF is "Beta", note that it is very stable. It has been used for years on EMC.

It is labeled Beta as the framework is growing fast and gaining new features, and API's are subject to breakage. The new features also may contain bugs, but we will work to fix them fast.

Please be prepared to keep up with changes, but I try to keep them as least disruptful as possible.

v1.0.0 will be the signal that ACF features are more complete and the API will remain stable for a long time.

Documentation / Using ACF

Documentation Wiki - All of ACF's documentation is currently on the GitHub Wiki. Please review every page to learn about each feature.

See Using ACF on how to add ACF to your plugin and getting started.

See Examples for some real world examples

Targeted Platforms / Current Version

We are on version:

  • GROUP: co.aikar
  • VERSION 0.5.0-SNAPSHOT

ARTIFACTID varies by platform target:

  • Bukkit: acf-bukkit (For targetting Bukkit/Spigot)
  • Paper: acf-paper (Recommended over Bukkit, will gradually enhance when ran on Paper, but still runs on Spigot)
  • Sponge: acf-sponge
  • BungeeCord: acf-bungee
  • JDA: acf-jda - IN PROGRESS - NOT READY

Setup Guides (Repo and Requirements): Maven, Gradle You may include more than 1 platform in your jar if your plugin supports multiple platforms.

Any bump in version implies an API break. See CHANGELOG for information on migration guides for API breaks.

Every change that should not cause any API break will be deployed over the current version.

Say Thanks

If this library has helped you, please consider donating as a way of saying thanks

PayPal Donate

Why does it require Java 8+?

Get off your dinosaur and get on this rocket ship!

Dinosaurs have been dead for a long time, so get off it before you start to smell.

Download Java 8

Java Docs

Contributing

See Issues section.

Join #aikar on Spigot IRC - irc.spi.gt to discuss.

Or Code With Aikar Discord.

Other projects by Aikar / Empire Minecraft

  • TaskChain - Powerful context control to dispatch tasks Async, then access the result sync for API usage. Concurrency controls too.
  • IDB - Simple and Intuitive JDBC Wrapper for Java
  • Minecraft Timings - Add Timings to your plugin in a safe way that works on all Bukkit platforms (CraftBukkit - no timings, Spigot - Timings v1, Paper and Paper forks - Timings v2)

License

As with all my other public projects

Commands (c) Daniel Ennis (Aikar) 2016-2018.

Commands is licensed MIT. See LICENSE

acf's People

Contributors

aikar avatar chickeneer avatar joo200 avatar minidigger avatar dumptruckman avatar simpleauthority avatar williambraecky avatar proximyst avatar mrkirby153 avatar tehneon avatar gabik21 avatar roinujnosde avatar kashike avatar mrivanplays avatar niklasei avatar jantuck avatar kumpelblase2 avatar osipxd avatar mikroskeem avatar iwitrag avatar kacperduras avatar jydett avatar darbyjack avatar frankusmiruk avatar frankheijden avatar mrmicky-fr avatar mrpowergamerbr avatar sarhatabaot avatar redrield avatar stijnb1234 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.