Skip to content

EndlessCodeGroup/Mimic

Repository files navigation

Mimic

Version Build Status Code Quality license

Logo

Abstraction API for RPG plugins.

Other resources: SpigotMC, SpigotMC Forum, RuBukkit
Join us: Discord

What is MimicAPI?

The goal of MimicAPI is to make RPG plugins compatible with each other.

There is a lot of RPG plugins and to integrate them together you need to get copies of all these plugins (some of which are paid). Inspired by Vault, I wrote MimicAPI to avoid this problem.
With Mimic, you don't need to download all RPG plugins and write specific code for each plugin to support them, just use Mimic as a dependency.

Available APIs

  • LevelSystem - API to work with player's level and experience points. Makes it possible to use in plugins levels and exp from another plugin.
  • ClassSystem - API to work with player's classes. Enables plugins to check player class.
  • PlayerInventory (experimental) - API to access player's inventories content.
  • ItemsRegistry - API adding the possibility to create and validate custom items created with plugins.

Implementations

Bukkit

  • mimic-bukkit-api - mimic-api adopted for Bukkit. Use it in Bukkit plugins.
  • mimic-bukkit - Bukkit plugin containing some APIs implementations. It also provides commands to test your API implementation. Use it as example of Mimic APIs usage and implementation.

Installation

If you are server owner, just get needed plugin from Implementations section. If you are developer you can use Gradle or Maven to plug MimicAPI to your plugin.

Gradle

repositories {
    mavenCentral()
}

dependencies {
    compileOnly("ru.endlesscode.mimic:mimic-bukkit-api:0.8.0")
}

Maven

<dependency>
  <groupId>ru.endlesscode.mimic</groupId>
  <artifactId>mimic-bukkit-api</artifactId>
  <version>0.8.0</version>
  <scope>provided</scope>
</dependency>

Usage

Look Implementations pages for API usage examples on your platform.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.