AstraTemplate
🟡 Updated this year⚠️ Install Order · 2 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
Preview

🔍 Analysis
- 👍 0.2% endorsement rate
- 🏆 #26 of 29 bukkit mods in this game by downloads
📋 About This Mod
[!(https://img.shields.io/badge/platform-paper-4e9a38?style=flat-square)](https://papermc.io) [!(https://img.shields.io/badge/platform-forge-c6934a?style=flat-square)](https://files.minecraftforge.net) [!(https://img.shields.io/badge/platform-neoforge-c6934a?style=flat-square)](https://neoforged.net)
# AstraTemplate
A production-grade Minecraft plugin/mod template written in Kotlin. Provides a modular, lifecycle-driven architecture that runs across Paper, Forge, and NeoForge from a single shared codebase.
## Plugins built on this template
## Project structure
``` AstraTemplate/ ├── instances/ │ ├── bukkit/ ← Paper entry point + platform wiring │ ├── forge/ ← Forge entry point + platform wiring │ └── neoforge/ ← NeoForge entry point + platform wiring └── modules/ ├── api/ │ ├── local/ ← Database (Exposed ORM, platform-agnostic) │ └── remote/ ← REST client (Ktor, platform-agnostic) ├── core/ ← Config, translations, coroutine scopes ├── build-konfig/ ← Compile-time constants (id, version, etc.) ├── feature-command/ ← All commands (platform-agnostic!) ├── feature-gui/ │ ├── api/ ← GUI interfaces (Router, GuiModule) │ └── bukkit/ ← Bukkit chest-GUI implementation └── feature-event/ ├── bukkit/ ← Bukkit event listeners ├── forge/ ← Forge event listeners └── neoforge/ ← NeoForge event listeners ```
Each `instances/
modules/core — config, translations, coroutine scopes
The foundation every other module depends on. Provides:
- Config — `PluginConfiguration` is a `@Serializable` data class written to `config.yml`. Reloaded on `/atempreload` via `StateFlowKrate`.
- Translations — `PluginTranslation` works the same way with `translation.yml`. Every string has a default value so the plugin works out of the box with no files present.
- Coroutine scopes — `ioScope`, `mainScope`, and `unconfinedScope` backed by `KotlinDispatchers` (platform-provided abstraction over `Dispatchers. IO` / main thread / etc.). All scopes are cancelled in `onDisable`.
modules/api/local — local database via Exposed ORM
Local database access via (https://github.com/JetBrains/Exposed) ORM. The `LocalDao` interface exposes suspend functions for CRUD operations on `UserTable` and `UserRatingTable`. The underlying database connection is derived reactively from the config flow, so switching from H2 to MySQL is a one-line config change and a reload.
Supported drivers (configured in `libs.versions.toml`): H2, SQLite, MySQL, MariaDB.
modules/api/remote — REST API client via Ktor
REST API client built with (https://ktor.io). Demonstrates fetching data from an external HTTP endpoint (the Rick & Morty API). The `RickMortyApi` interface returns `Result
modules/build-konfig — compile-time constants
Generates compile-time constants (`id`, `version`, etc.) via the BuildConfig Gradle plugin. Import from any module that needs to reference the plugin's identity at runtime without hardcoding strings.
modules/feature-command — cross-platform commands (no platform imports)
All commands in one place, with no platform imports. Uses the Brigadier DSL from AstraLibs to define commands that compile and run identically on Paper, Forge, and NeoForge. The platform-specific `MultiplatformCommand` adapter is injected at the `RootModule` level.
modules/feature-gui — chest GUI (Bukkit, with stub for other platforms)
Split into `api` (the `Router` interface + `GuiModule`) and `bukkit` (the implementation). The Bukkit implementation provides a paginated chest inventory driven by `StateFlow` — the GUI re-renders automatically whenever the underlying data
📊 Mod Details
- Game
- Minecraft Mods
- Author
- makeevrserg
- Version
- 8.0.0-alpha01
- Downloads
- 2,947
- Endorsements
- 5
- Category
- bukkit
- Created
- 4/22/2023
- Updated
- 11/7/2025
- Game Versions
- 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4
- Tags
- library, storage, utility
🔧 How to Install Minecraft Mods Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Mods →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Mods versions does AstraTemplate support?
The author lists 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5. Other versions may work but are untested by the author.
What is the latest version of AstraTemplate?
Version 8.0.0-alpha01, published 2025-11-07 with 2,947 downloads recorded at the source.
Keep browsing — more Minecraft Mods mods await