Skip to content

Fork: Karus Lab's mono-repository for annotation processing tools & spigot libraries

License

Notifications You must be signed in to change notification settings

LeafCommunity/Chimera

 
 

Repository files navigation

An annotation-driven and reflectionn-free command framework.

Requires Java 17+. Read the wiki to get started. View our GitHub discussions to learn about upcoming developments.

CI/CD Funding Codecov Stable Source Code Discord

Why Chimera?

  • Improved performance - Since annotation are processed at compile-time, we can avoid many of the performance pitfalls associated with reflective access and reflection in general.

  • Light(er)weight Dependencies - All Typist annotations are discarded after compilation and generated code do not rely on Typist, hence it doesn't need to be bundled with the plugin. The only dependency required is Chimera.

  • Low Learning Curve & Safe - One benefit of compile-time annotation processing is the ability to check annotations at compile-time. This means errors can be caught eariler by the annotation processor and thus easier to learn and safer.

  • Native Brigadier Support - Typist is built on Chimera, hence by extension, built on Brigadier.

  • Better Developer Experience - No need to compile the plugin, fiddle with the jar, boot-up a Spigot server and pray it doesn't instantly hurl an error. Typist has a slightly shorter feedback loop.

Imgur

Version Compatibility
Chimera Version Minecraft Version
5.2.0 1.18.0 - 1.18.1
5.1.0 1.17.1
5.0.0 1.17.0
4.9.0-SNAPSHOT 1.16.4
4.8.0 1.16.3
4.7.1 1.16.1
4.6.1 1.15.2
4.3.0 1.14 - 1.14.4
4.1.0 1.13.2

Maven Repository

<repository>
  <id>chimera-releases</id>
  <url>https://repo.karuslabs.com/repository/chimera-releases/</url>
</repository>

Annotations - Contains general purpose annotations

releases-maven snapshots-maven javadoc

<dependency>
    <groupId>com.karuslabs</groupId>
    <artifactId>annotations</artifactId>
    <version>5.2.0</version>
</dependency>

Commons - Contains the command framework and other common utilities for Spigot plugin development

releases-maven snapshots-maven javadoc

<dependency>
    <groupId>com.karuslabs</groupId>
    <artifactId>commons</artifactId>
    <version>5.2.0</version>
</dependency>

Typist - Contains the annotations add-on for the command framework in Commons

releases-maven snapshots-maven javadoc

<dependency>
    <groupId>com.karuslabs</groupId>
    <artifactId>typist</artifactId>
    <version>5.2.0</version>
</dependency>

About

Fork: Karus Lab's mono-repository for annotation processing tools & spigot libraries

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%