Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
Platforms
Links
Tags
Creators
Details
Monolith API
A modern API for creating custom blocks on Paper servers.
Simple β’ Type-safe β’ Java compatible β’ Extensible
Overview
Monolith API is a framework for creating custom blocks on Paper servers.
Instead of replacing vanilla mechanics or requiring a resource pack, Monolith allows plugins to register new logical block types based on vanilla materials while providing completely custom behavior.
Every custom block can react to events, be converted to and from an item, be placed into the world and retrieved later through the API.
The library is written in Kotlin but designed to be equally comfortable for Java developers.
π§ Navigation
Explore the comprehensive documentation to master the API:
1. Getting Started
- Introduction & Features β Core philosophy and key capabilities.
- Installation Guide β Setting up Maven, Gradle, and
plugin.yml. - API Entry Point β How to access the API in Java and Kotlin.
2. Core Concepts
- Defining Custom Blocks β Creating your first
BlockDefinition. - Registration Lifecycle β Using
MonolithRegisterEventcorrectly. - Items β Converting blocks to
ItemStacks.
3. Advanced Mechanics
- Event System & Behaviors β Understanding global vs. local event dispatch.
- Persistent Data (DataContainer) β Saving custom state to blocks.
- Custom Data Types β Serializing complex objects.
- Vec3i β Advanced coordinate math and proximity checks.
4. World Management
- PlacedBlock API β Accessing blocks already in the world.
- Placement & Destruction β Programmatic world manipulation.
- Built-in Commands
Installation
plugin.yml
depend:
- MonolithAPI
Maven
<dependency>
<groupId>io.github.zawarka03</groupId>
<artifactId>monolith-api</artifactId>
<version>VERSION</version>
<scope>provided</scope>
</dependency>
Gradle
dependencies {
compileOnly("io.github.zawarka03:monolith-api:VERSION")
}


