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.
-
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.
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 |
<repository>
<id>chimera-releases</id>
<url>https://repo.karuslabs.com/repository/chimera-releases/</url>
</repository>
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>annotations</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>commons</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>typist</artifactId>
<version>5.2.0</version>
</dependency>