Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for x9nico

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

Report BedBlockAPI?

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/

Information

Category
Admin Tools
Published
November 13, 2026
License
2Downloads
0Stars
Library

Pinned Versions

Members

1