BedBlockAPI
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
- Guild System
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:
<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.68</version>
</dependency>
</dependencies>
For Velocity projects:
<dependency>
<groupId>com.github.BedBlock</groupId>
<artifactId>api-velocity</artifactId>
<version>0.2.68</version>
</dependency>
Installation via Gradle (Groovy)
repositories {
maven {
url = uri("https://gitlab.com/api/v4/projects/86137995/packages/maven")
}
}
dependencies {
implementation "com.github.BedBlock:api-bukkit:0.2.68"
}
Installation via Gradle (Kotlin DSL)
repositories {
maven(url = "https://gitlab.com/api/v4/projects/86137995/packages/maven")
}
dependencies {
implementation("com.github.BedBlock:api-bukkit:0.2.68")
}
Examples
Basic initialization:
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:
long playerCount = api.getDatabaseAPI().count("SELECT COUNT(*) FROM players");
System.out.println("Players saved: " + playerCount);
Redis usage example:
api.getRedisAPI().set("server:status", "online");
String status = api.getRedisAPI().get("server:status");
System.out.println("Server status: " + status);
Economy / player data example:
api.getCoinsAPI();
api.getPlayerProfiles();
api.getFriendsAPI();
Guild example:
api.getGuildAPI();
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,social and guilds 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.
Javadoc is here: https://nraynaud31.gitlab.io/Java_BedBlockAPI_Archive/
Pinned Versions
- R26.34.3.1
Pages
Members
1Owner