Server Events

Server Events

A Fabric mod enhancing server-side event handling with a Bukkit-inspired system, extending and encapsulating Fabric API events.

3 727 downloads 5 followers

Server Events

GitHub License GitHub Actions Workflow Status GitHub Release

Modrinth Downloads CurseForge Downloads

Server Events is a support library for Fabric server development, designed to enhance the Fabric API's limited event system. It offers a Bukkit-like event framework while adhering to Fabric's minimalist philosophy.

The mod doesn't wrap CommandRegistrationCallback and DynamicRegistrySetupCallback from Fabric API.

Installation

  1. Import this package to your project.
  2. Add serverevents to your mod depends.
repositories {
    maven "https://mvn.suc.icu"
}

dependencies {
    implementation "icu.suc.mc:serverevents:<version>"
}

Since 2.0.0, the groupId has been changed from icu.suc to icu.suc.mc.

Usage

ServerEvents provides a simple API for registering and processing events.

Here is an example of a player modifying broadcast information:

import net.fabricmc.api.ModInitializer;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Items;
import icu.suc.mc.serverevents.ServerEvents;

public class ExampleMod implements ModInitializer {
    @Override
    public void onInitialize() {
        ServerEvents.Player.MODIFY_JOIN_MESSAGE.register((player, message) ->
                Component.literal("[+] ").append(player.getName()));
    }
}

Since 2.2.0:

import icu.suc.mc.serverevents.Listener;
import icu.suc.mc.serverevents.ServerEvents;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.event.Event;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import org.jetbrains.annotations.NotNull;

public class ExampleMod implements ModInitializer, Listener, ServerEvents.Player.Join.ModifyMessage {
    @Override
    public void onInitialize() {
        ServerEvents.register(this);
    }

    @Override
    public @NotNull Event<?>[] events() {
        return new Event[]{ServerEvents.Player.Join.MODIFY_MESSAGE};
    }

    @Override
    public @NotNull Component modifyJoinMessage(@NotNull ServerPlayer player, @NotNull Component message) {
        return Component.literal("[+] ").append(player.getName());
    }
}

License

This project is licensed under the MIT License © 2025 sucj.

No gallery available for this project.

Version Minecraft Loader Download

2.2.1+26.1

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

2.2.1+1.21.11

1.21.11
fabric, quilt
Download

2.2.0+26.1

26.1, 26.1.1, 26.1.2
fabric, quilt
Download

2.2.0+1.21.11

1.21.11
fabric, quilt
Download

2.1.1+26.1

26.1, 26.1.1, 26.1.2
fabric, quilt
Download

2.1.1+1.21.11

1.21.11
fabric, quilt
Download

2.1.0+26.1

26.1, 26.1.1, 26.1.2
fabric, quilt
Download

2.1.0+1.21.11

1.21.11
fabric, quilt
Download

2.0.0+1.21.11

1.21.11
fabric, quilt
Download

1.3.0+1.21.11

1.21.11
fabric, quilt
Download

Server Events 2025.12.1

2025.12.1

1.21.11
fabric
Download

Server Events 2025.8.3

2025.8.3

1.21.10, 1.21.8, 1.21.9
fabric
Download

Server Events 2025.8.1

2025.8.1

1.21.8
fabric
Download

Server Events 2025.7.3

2025.7.3

1.21.8
fabric
Download

Server Events 2025.7.2

2025.7.2

1.21.7, 1.21.8
fabric
Download

Server Events 2025.7.1

2025.7.1

1.21.7
fabric
Download

Server Events 2025.6.1

2025.6.1

1.21.5
fabric
Download

Server Events 1.0.5

1.0.5

1.21.5
fabric
Download

Server Events 1.0.4

1.0.4

1.21.5
fabric
Download

Server Events 1.0.3

1.0.3

1.21.5
fabric
Download