服务器事件

服务器事件

一个Fabric模组,通过受Bukkit启发的系统增强服务端事件处理,扩展并封装Fabric API事件。

服务器事件

GitHub 许可证 GitHub Actions 工作流状态 GitHub 发布版本

Modrinth 下载量 CurseForge 下载量

服务器事件 是一个用于 Fabric 服务器开发的支持库,旨在增强 Fabric API 有限的事件系统。它提供了一种类似 Bukkit 的事件框架,同时遵循 Fabric 的极简主义理念。

该模组不封装 Fabric API 中的 CommandRegistrationCallback 和 DynamicRegistrySetupCallback。

安装

  1. 将此包导入到你的项目中。
  2. 将 serverevents 添加到你的模组依赖中。
repositories {
    maven "https://mvn.suc.icu"
}

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

自 2.0.0 版本起,groupId 已从 icu.suc 更改为 icu.suc.mc。

使用方法

服务器事件 提供了一个简单的 API 用于注册和处理事件。

以下是一个玩家修改广播信息的示例:

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())); } }

自 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&lt;?&gt;[] 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());
}

}

许可证

本项目基于 MIT 许可证 授权,版权所有 © 2025 sucj。