{"id":137548,"date":"2026-06-08T06:12:52","date_gmt":"2026-06-08T03:12:52","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/"},"modified":"2026-06-08T06:12:52","modified_gmt":"2026-06-08T03:12:52","slug":"serverevents","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/","title":{"rendered":"Server Events"},"content":{"rendered":"<p># Server Events<\/p>\n<p>![GitHub License](https:\/\/github.com\/sucj\/serverevents?tab=MIT-1-ov-file#readme)<br \/>\n![GitHub Actions Workflow Status](https:\/\/github.com\/sucj\/serverevents\/actions\/workflows\/build.yml)<br \/>\n![GitHub Release](https:\/\/github.com\/sucj\/serverevents\/releases\/latest)<\/p>\n<p>![Modrinth Downloads](https:\/\/modrinth.com\/project\/hykUQTdx)<\/p>\n<p>**Server Events** is a support library for Fabric server development, designed to enhance the Fabric API&#8217;s limited event system. It offers a Bukkit-like event framework while adhering to Fabric&#8217;s minimalist philosophy.<\/p>\n<p>The mod doesn&#8217;t wrap `CommandRegistrationCallback` and `DynamicRegistrySetupCallback` from Fabric API.<\/p>\n<p>## Installation<br \/>\n1. Import this package to your project.<br \/>\n2. Add `serverevents` to your mod depends.<\/p>\n<p>&#8220;`groovy<br \/>\nrepositories {<br \/>\n    maven &#8220;https:\/\/mvn.suc.icu&#8221;<br \/>\n}<\/p>\n<p>dependencies {<br \/>\n    implementation &#8220;icu.suc.mc:serverevents:<version>&#8221;<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Since `2.0.0`, the **groupId** has been changed from `icu.suc` to `icu.suc.mc`.<\/p>\n<p>## Usage<br \/>\n**ServerEvents** provides a simple API for registering and processing events.<\/p>\n<p>Here is an example of a player modifying broadcast information:<\/p>\n<p>&#8220;`java<br \/>\nimport net.fabricmc.api.ModInitializer;<br \/>\nimport net.minecraft.network.chat.Component;<br \/>\nimport net.minecraft.world.item.Items;<br \/>\nimport icu.suc.mc.serverevents.ServerEvents;<\/p>\n<p>public class ExampleMod implements ModInitializer {<br \/>\n    @Override<br \/>\n    public void onInitialize() {<br \/>\n        ServerEvents.Player.MODIFY_JOIN_MESSAGE.register((player, message) -><br \/>\n                Component.literal(&#8220;[+] &#8220;).append(player.getName()));<br \/>\n    }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Since `2.2.0`:<\/p>\n<p>&#8220;`java<br \/>\nimport icu.suc.mc.serverevents.Listener;<br \/>\nimport icu.suc.mc.serverevents.ServerEvents;<br \/>\nimport net.fabricmc.api.ModInitializer;<br \/>\nimport net.fabricmc.fabric.api.event.Event;<br \/>\nimport net.minecraft.network.chat.Component;<br \/>\nimport net.minecraft.server.level.ServerPlayer;<br \/>\nimport org.jetbrains.annotations.NotNull;<\/p>\n<p>public class ExampleMod implements ModInitializer, Listener, ServerEvents.Player.Join.ModifyMessage {<br \/>\n    @Override<br \/>\n    public void onInitialize() {<br \/>\n        ServerEvents.register(this);<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public @NotNull Event<?>[] events() {<br \/>\n        return new Event[]{ServerEvents.Player.Join.MODIFY_MESSAGE};<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public @NotNull Component modifyJoinMessage(@NotNull ServerPlayer player, @NotNull Component message) {<br \/>\n        return Component.literal(&#8220;[+] &#8220;).append(player.getName());<br \/>\n    }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>## License<\/p>\n<p>This project is licensed under the [MIT License](LICENSE) \u00a9 2025 sucj.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Fabric mod enhancing server-side event handling with a Bukkit-inspired system, extending and encapsulating Fabric API events.<\/p>\n","protected":false},"featured_media":137549,"template":"","meta":{"_minecraft_slug":"serverevents","_minecraft_project_id":"hykUQTdx","_minecraft_author":"KKW557","_minecraft_license":"MIT","_minecraft_downloads":2096,"_minecraft_follows":5,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"serverevents.zip","_minecraft_size_bytes":24647251,"_minecraft_version_count":47,"_minecraft_updated_at":"2026-05-16T00:13:57.305530Z","_minecraft_date_created":"2025-05-18T23:34:53.570857Z","_minecraft_date_modified":"2026-04-23T09:50:25.232851Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/serverevents","_minecraft_icon_attachment_id":137549,"_minecraft_imported_at":"2026-06-08T03:12:53+00:00","_minecraft_import_hash":"ba569c146f8b3697b213313bbfb89554","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,873,98],"mod_loader":[99,100],"minecraft_version":[40,41,78,80,81,82,83,167,163],"class_list":["post-137548","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-library","mod_category-quilt","mod_loader-fabric","mod_loader-quilt","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-5","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Server Events - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Server Events - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Fabric mod enhancing server-side event handling with a Bukkit-inspired system, extending and encapsulating Fabric API events.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/\",\"name\":\"Server Events - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/serverevents-icon-58a2c3b05047ed1507b4a68db2a2d623e0e23da5.png\",\"datePublished\":\"2026-06-08T03:12:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/serverevents-icon-58a2c3b05047ed1507b4a68db2a2d623e0e23da5.png\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/serverevents-icon-58a2c3b05047ed1507b4a68db2a2d623e0e23da5.png\",\"width\":256,\"height\":256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/serverevents\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Server Events\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Server Events - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/","og_locale":"en_US","og_type":"article","og_title":"Server Events - Minecraft","og_description":"A Fabric mod enhancing server-side event handling with a Bukkit-inspired system, extending and encapsulating Fabric API events.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/","name":"Server Events - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/serverevents-icon-58a2c3b05047ed1507b4a68db2a2d623e0e23da5.png","datePublished":"2026-06-08T03:12:52+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/serverevents-icon-58a2c3b05047ed1507b4a68db2a2d623e0e23da5.png","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/serverevents-icon-58a2c3b05047ed1507b4a68db2a2d623e0e23da5.png","width":256,"height":256},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/serverevents\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Server Events"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/137548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/137549"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=137548"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=137548"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=137548"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=137548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}