Developers API

Loading dependency

You can add KGenerators as dependency directly via jar file or use Mave/Gradle

Maven

<repositories>
  <repository>
    <id>codemc-repo</id>
    <url>https://repo.codemc.org/repository/maven-public/</url>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>me.kryniowesegryderiusz</groupId>
    <artifactId>kgenerators-core</artifactId>
    <version>VERSION</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

Gradle

repositories {
    maven { url "https://repo.codemc.org/repository/maven-public/" }
}

dependencies {
    compileOnly 'me.kryniowesegryderiusz:kgenerators-core:VERSION'
}

VERSION should look like 7.0 / 7.1 / 7.2 and so on

Getting started with KGeneratorsAPI

All API methods are accessible from KGeneratorsAPI class

The most important Interface is IGeneratorLocation, which manages Generator at specific location.

Related to that is method KGeneratorsAPI#getGeneratorLocation(Location)

A few examples below

Example of getting generator from location
IGeneratorLocation igl = KGeneratorsAPI.getGeneratorLocation(location);
Example of removing generator from location

location - Bukkit Location variable

IGeneratorLocation igl = KGeneratorsAPI.getGeneratorLocation(location);
    if (igl != null)
        igl.removeGenerator(true, null);
Example of checking if mining generator is possible

This can be related for example to CustomEnchants/Minions plugins

location - Bukkit Location variable for mined block

player - Player related with this action

IGeneratorLocation igl = KGeneratorsAPI.getGeneratorLocation(location);
    if (igl != null
        && igl.isPermittedToMine(player)
        && igl.isBlockPossibleToMine(location)) {
        //Your block removal code
        igl.scheduleGeneratorRegeneration();
    }

Events

  • PreBlockGenerationEvent - cancellable event called when generator regenegenerating function is fired, returns IGeneratorLocation``

  • PostBlockGenerationEvent - called after generator regeneration, for monitoring reasons, returns IGeneratorLocation``

  • ReloadEvent - called, when KGenerators is beeing reloaded.

Last updated