Skip to content
Matthias Ngeo edited this page Jun 28, 2020 · 51 revisions

Karus Labs' mono-repository for spigot libraries & tools.

  • Allows Brigadier command framework usage in Spigot plugins
  • Compile-time plugin.yml generation tools
  • Fully static, compile-time command annotations

Chimera provides a command library built to be interoperable between Mojang's Brigadier and Spigot. Unlike other libraries, we rely on NMS for better correctness and performance. Please read the FAQ for more information. In addition, Chimera also provides command annotations that are compiled ahead-of-time instead of relying on reflection at runtime. It is to our knowledge that this is the only library to do so.

Please read using commands or using command annotations to get started.

Chimera also contains Scribe; a suite of tools to generate a plugin.yml from annotations at compile-time. Several additional checks are also performed to ensure the correctness of the plugin.yml. When using Scribe Maven Plugin, values can be inferred directly from a project's pom.xml.

Please view using Scribe to get started.


Requires Java 11+. Why Java 11?

Travis-CI Funding Maintainability Codecov Stable Source Code Discord

Chimera Version Minecraft Version
4.7.0 1.16.1
4.6.1 1.15.2
4.5.0 1.15.2
4.4.0 1.15 - 1.15.2
4.3.0 1.14 - 1.14.4
4.2.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>4.7.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>4.7.0</version>
</dependency>

Scribe Annotations - Contains annotations that other scribe projects use to generate a plugin.yml

releases-maven snapshots-maven javadoc

<dependency>
    <groupId>com.karuslabs</groupId>
    <artifactId>scribe-annotations</artifactId>
    <version>4.7.0</version>
</dependency>

Scribe Standalone - Standalone annotation processor that generates a plugin.yml

releases-maven snapshots-maven javadoc

<!-- Standalone annotation processor, provides scribe-annotations as a transitive dependency -->
<dependency>
    <groupId>com.karuslabs</groupId>
    <artifactId>scribe-standalone</artifactId>
    <version>4.7.0</version>
</dependency>

Scribe Maven Plugin - Maven plugin that generates a plugin.yml and infers values from a project's pom.xml

releases-maven snapshots-maven javadoc

<dependency>
  <groupId>com.karuslabs</groupId>
  <artifactId>scribe-annotations</artifactId>
  <version>4.7.0</version>
</dependency>

<plugin>
  <groupId>com.karuslabs</groupId>
  <artifactId>scribe-maven-plugin</artifactId>
  <version>4.7.0</version>
  <executions>
    <execution>
      <goals>
          <goal>scribe</goal>
      </goals>
    </execution>
  </executions>
</plugin>
Clone this wiki locally