Перейти к содержимому
Mineforgian

Server Events

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

Загрузки
3K
Подписчики
5
Обновлён
23 апреля 2026 г.
Лицензия
MIT

Опубликован 13 мая 2025 г.

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.

Ченджлог

2.2.1+26.1Релиз26.1.1, 26.1.2, 26.2 · 23 апреля 2026 г.

What's Changed

Full Changelog: https://github.com/sucj/serverevents/compare/2.2.0+26.1...2.2.1+26.1

2.2.1+1.21.11Релиз1.21.11 · 23 апреля 2026 г.

What's Changed

Full Changelog: https://github.com/sucj/serverevents/compare/2.2.0+1.21.11...2.2.1+1.21.11

2.1.0+1.21.11Релиз1.21.11 · 9 апреля 2026 г.
  • Added icu.suc.mc.serverevents.ServerEventPriority
2.0.0+1.21.11Релиз1.21.11 · 5 апреля 2026 г.
  • Changed groupId from icu.suc to icu.suc.mc.
  • Added docs for mixins.
1.3.0+1.21.11Релиз1.21.11 · 2 апреля 2026 г.

Update icon

...

2025.12.1Релиз1.21.11 · 15 декабря 2025 г.

the EntitySleepEvents.ALLOW_SLEEP_TIME event has been removed #4930

Комментарии

Загружаем…