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 SpigotBedBlockAPI
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:
For Velocity projects:
Installation via Gradle (Groovy)
Installation via Gradle (Kotlin DSL)
Examples
Basic initialization:
Database usage example:
Redis usage example:
Economy / player data example:
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.
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>
<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>
<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"
}
maven {
url = uri ( "https://gitlab.com/api/v4/projects/86137995/packages/maven" )
}
}
dependencies {
implementation "com.github.BedBlock:api-bukkit:0.2.63"
}
Code (Java):
repositories
{
maven (url = "https://gitlab.com/api/v4/projects/86137995/packages/maven" )
}
dependencies {
implementation ( "com.github.BedBlock:api-bukkit:0.2.63" )
}
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 ) ;
. 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 ) ;
System. out. println ( "Players saved: " + playerCount ) ;
Redis usage example:
Code (Java):
Economy / player data example:
Code (Java):
api.
getCoinsAPI
(
)
;
api. getPlayerProfiles ( ) ;
api. getFriendsAPI ( ) ;
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
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
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.