コンテンツにスキップ

MythicRod Developer API

A small, stable Java surface for integrating with MythicRod from your own Paper or Folia plugin. Add it as a compileOnly dependency, look up the MythicRodAPI service, and call into it from the right scheduler.

The pages below cover everything in depth; this page is the index.

Pages

  • Setup - Gradle and Maven coordinates, paper-plugin.yml load order, multi-project notes.
  • Service access - look up MythicRodAPI at runtime and handle the not-installed case.
  • Events - the four MythicRod events and their typical use.
  • Drop providers - ExternalDropProvider SPI for registering custom items.
  • Folia threading - which scheduler each API call belongs on.
  • Rods - rod tiers, identifiers, item factory.
  • Stats - PlayerStatSnapshot, leaderboards, async behavior.
  • Examples - short snippets for the most common integrations.
  • Compatibility policy - SemVer rules and what counts as a breaking change.

Module layout

Module Purpose
mythicrod-api Stable contracts and platform-neutral DTOs. Depend on this.
mythicrod-paper Paper runtime and helpers. Available at runtime, do not depend on.
mythicrod-common Shared internals. Not part of the API.

Quick start

dependencies {
    compileOnly("io.xcutiboo:mythicrod-api:VERSION")
}
MythicRodAPI api = Bukkit.getServicesManager().load(MythicRodAPI.class);
if (api == null) {
    return; // MythicRod is not installed; skip integration.
}

Full setup, the Maven block, and paper-plugin.yml load order are on Setup. The recommended runtime lookup pattern is on Service access.

Stability

mythicrod-api follows semantic versioning. Breaking changes only land on a major version. Methods marked @ApiStatus.Experimental may change inside a major version. See Compatibility policy.