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

Lightweight, high-performance and easy-to-use Custom Block and Tool API

Report MoonBreak?

MoonBreak is an easy-to-use, high-performance and lightweight Custom Tool and Block API
(Big Thanks to Bisai for the Logo ♥️)

MoonBreak Showcase GIF

Feature Overview

  • Complete vanilla-like Breaking Simulation
  • Custom Blocks with their own Hardness values
  • Custom Tools with own speeds, durability & more
  • Event Hook Callback Integration for Custom Tools
  • Ability to disable vanilla Behaviors for specific Tools
  • Incredibly lightweight (<100kB)
  • Low impact on server resources

Getting Started

Creating a Custom Tool

(Mining Speed is not limited to vanilla values)

CustomToolType HAMMER = CustomToolType.builder()
        .name(Component.text("Hammer"))
        .material(Material.IRON_PICKAXE)
        .speed(CustomToolType.MiningSpeed.GOLD)
        .maxDurability(1000)
        .affectedByWrongTool(true)
        .affectedUnderwater(true)
        .affectedByFloating(false)
        .build();

private void init() {
    BuiltinRegistries.TOOL_TYPE.register(Key.key("example:hammer"), HAMMER);
}

Obtaining the itemstack is as simple as:

CustomTool tool = CustomTool.of(HAMMER);
ItemStack toolItem = tool.itemStack();

Creating a Custom Block

(Block Hardness is not limited to vanilla values)

CustomBlockType LIGHT_OBSIDIAN = CustomBlockType.of(Material.OBSIDIAN, Material.STONE); // Copies the Hardness of Stone (=1.5). Not limited to vanilla values

private void init() {
    BuiltinRegistries.BLOCK_TYPE.register(Key.key("example:light_obsidian"), LIGHT_OBSIDIAN);
}

Placing the block is as simple as:

CustomBlockManager.manager().place(yourLocation, LIGHT_OBSIDIAN);

Gradle/Maven Integration

Gradle

Kotlin

repositories {
    maven("https://lunaa.dev/repository/maven")
}

dependencies {
    compileOnly("dev.lunaa.moonbreak:moonbreak-api:1.2.1")
}

Groovy

repositories {
    maven {
        url = 'https://lunaa.dev/repository/maven'
    }
}

dependencies {
    compileOnly 'dev.lunaa.moonbreak:moonbreak-api:1.2.1'
}

Maven

<repositories>
    <repository>
        <id>lunaa-dev-repo</id>
        <url>https://lunaa.dev/repository/maven</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>dev.lunaa.moonbreak</groupId>
        <artifactId>moonbreak-api</artifactId>
        <version>1.2.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

Information

Category
Developer Tools
Published
August 28, 2026
License
5Downloads
3Stars
Library

Members

1