HomeJavaModsServer Events
Server Events
ModsJava

Server Events

by KKW557 · on Modrinth

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

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 26.1–26.1.2 · Fabric⬇ Download for 1.21.11 · Fabric⬇ Download for 1.21.8–1.21.10 · Fabric⬇ Download for 1.21.7 · Fabric⬇ Download for 1.21.5 · Fabric⬇ Download for 26.1–26.1.2 · Quilt⬇ Download for 1.21.11 · Quilt
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.

Server Events

GitHub License GitHub Actions Workflow Status GitHub Release

Modrinth 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.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more