Home›Java›Mods›BedBlockAPI | Modular Java API for Paper/Bukkit and Velocity
ModsJava

BedBlockAPI | Modular Java API for Paper/Bukkit and Velocity

Java mod listed for Minecraft 1.21. Download on the author's site.

⬇ Download on Spigot
BedBlockAPI

A modular Java API for Paper/Bukkit and Velocity Minecraft projects

Introduction

BedBlockAPI is a multi-module Java library designed to centralize reusable logic for Minecraft network projects and backend services. The goal is to avoid repeating the same code in multiple plugins and modules by providing a common API for core features such as database access, Redis communication, player data management, economy systems, friend systems, and cross-server messaging.

This project is built for developers who want a clean and scalable foundation for Paper/Bukkit plugins, Velocity proxies, and standalone Java services. Instead of using isolated implementations for each project, BedBlockAPI offers a reusable structure that can be shared across multiple components of a Minecraft ecosystem.

Features
- Multi-module architecture for standalone, Bukkit/Paper, and Velocity
- MariaDB database integration
- Redis support with Pub/Sub messaging
- Player profile and persistent data management
- Economy / coins system
- Friend and social interaction utilities
- Cross-server communication and message routing
- Reusable service and repository-based design
- Easy integration into Java-based server and proxy projects
- Clean plugin lifecycle compatibility
- Built for scalable Minecraft network development

Project Modules
- api-standalone: shared backend logic and reusable services
- api-bukkit: implementations and utilities for Paper/Bukkit environments
- api-velocity: integrations for Velocity proxy projects

Requirements
- Java 25+
- Maven or Gradle
- Paper/Bukkit or Velocity environment (depending on the module used)
- Optional MariaDB and Redis setup for full functionality

Installation via Maven
Add the repository and dependency to your pom.xml:

Code (Text):
<repositories>
    <repository>
        <id>gitlab-maven</id>
        <url>https://gitlab.com/api/v4/projects/86137995/packages/maven</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.github.BedBlock</groupId>
        <artifactId>api-bukkit</artifactId>
        <version>0.2.63</version>
    </dependency>
</dependencies>

For Velocity projects:

Code (Text):
<dependency>
    <groupId>com.github.BedBlock</groupId>
    <artifactId>api-velocity</artifactId>
    <version>0.2.63</version>
</dependency>

Installation via Gradle (Groovy)

Code (Java):
repositories {
    maven {
        url = uri ( "https://gitlab.com/api/v4/projects/86137995/packages/maven" )
    }
}

dependencies {
    implementation "com.github.BedBlock:api-bukkit:0.2.63"
}
Installation via Gradle (Kotlin DSL)

Code (Java):
repositories {
    maven (url = "https://gitlab.com/api/v4/projects/86137995/packages/maven" )
}

dependencies {
    implementation ( "com.github.BedBlock:api-bukkit:0.2.63" )
}

Examples

Basic initialization:


Code (Java):
DatabaseConfig dbConfig = DatabaseConfig. builder ( )
    . host ( "localhost" )
    . port ( 3306 )
    . database ( "bedblock" )
    . username ( "bedblock_user" )
    . password ( "your-password" )
    . useSSL ( false )
    . build ( ) ;

RedisConfig redisConfig = RedisConfig. builder ( )
    . host ( "localhost" )
    . port ( 6379 )
    . timeout ( 5 )
    . build ( ) ;

BedBlockAPI api = BedBlockAPI. getInstance ( ) ;
api. initialize (dbConfig, redisConfig ) ;

Database usage example:

Code (Java):
long playerCount = api. getDatabaseAPI ( ). count ( "SELECT COUNT(*) FROM players" ) ;
System. out. println ( "Players saved: " + playerCount ) ;

Redis usage example:

Code (Java):
api. getRedisAPI ( ). set ( "server:status", "online" ) ;
String status = api. getRedisAPI ( ). get ( "server:status" ) ;
System. out. println ( "Server status: " + status ) ;

Economy / player data example:

Code (Java):
api. getCoinsAPI ( ) ;
api. getPlayerProfiles ( ) ;
api. getFriendsAPI ( ) ;

This allows plugin developers to access reusable services without manually rewriting the logic for each project.

Why use BedBlockAPI?

- Faster development for Minecraft network projects
- Better code reuse across multiple plugins and servers
- Cleaner architecture with service separation
- More maintainable backend logic
- Reduced duplication between Paper and Velocity integrations
- Designed to support large-scale projects with multiple components

Summary

BedBlockAPI is a practical and modular Java API aimed at developers who want a structured foundation for Minecraft plugin and proxy ecosystems. It focuses on reusability, clean architecture, and interoperability between backend services and server-side Minecraft components.

It is especially useful for projects that require:
- player management
- persistence and SQL access
- Redis messaging
- proxy/server coordination
- economy and social features
- maintainable multi-module design

If you want a clean and reusable backend system for your Minecraft ecosystem, BedBlockAPI is a strong foundation.

License
This project is released under the MIT license.

Developer note
The library is designed to be flexible and integration-friendly, making it suitable for both personal projects and larger Minecraft network environments.
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

BedBlockAPI | Modular Java API for Paper/Bukkit and Velocity is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 20 times (via Spigot). Download it and open it directly in the game.

Explore more