GijinkakunCore

The backbone of a better Minecraft server

I developed GijinkakunCore, a modular Java plugin that provides the shared foundation for my Azeria Minecraft server. It combines player management, travel, chat, moderation, economy, and character progression, while exposing public APIs that allow other plugins to build on the same services.

The engineering focus is reliable data handling and maintainable integration. Core uses MySQL persistence, asynchronous database workers, and connection pooling to keep database work off the game’s main thread. Shared APIs give gameplay plugins consistent access to player profiles, achievements, item deliveries, currency, and character XP.

Key technical work includes:

  • Transactional economy: atomic player transfers, permanent transaction history, and recorded reversals, with integer currency values to avoid floating-point errors.
  • Reliable rewards: idempotent operations prevent retried requests from awarding currency, items, or XP twice.
  • Extensible architecture: registered integration sources, capability checks, and ownership rules control how other plugins access shared services.
  • Operational tooling: configurable modules, permission controls, database diagnostics, and explicit handling of unavailable services.
  • Automated quality checks: JUnit tests, database integration tests, static analysis, formatting checks, and strict compiler warnings integrated into the Gradle build.

This project demonstrates my experience with Java backend development, relational databases, asynchronous programming, API design, and building connected systems within a real-time application.

Under the hood

  • Java 25
  • Paper API
  • MySQL
  • HikariCP
  • Gradle
  • JUnit
  • SpotBugs
  • LuckPerms