Skip to content

Lightweight API built upon Fabric to facilitate server-side mod development

License

Notifications You must be signed in to change notification settings

Relism/ServerLibraries

Repository files navigation

ServerLibraries

Modrinth Shield Github Shield

Banner Image

ServerLibraries is a library for Minecraft server-side Fabric mod development, aiming to simplify the development experience and make it feel like making a Bukkit-based plugin.

Features

  • Simplified event handling with hundreds of mapped events.
  • Easy sync/async scheduling.

Example Usage

Here's an example of how to use ServerLibraries to handle events:

// Listener class that handles server events
public class ExampleListener implements Listener {

    @EventHandler
    public void onPlayerChatEvent(@NotNull PlayerChatEvent event) {
        event.setCancelled(true);
        ServerPlayerEntity player = event.getPlayer();
        String message = event.getMessage();
        // Format the message to display the player's name followed by the message
        String formattedMessage = player.getName().getString() + " > " + message;
        // Broadcast the formatted message to all players and log it in the console
        msg.broadcast(formattedMessage);
        msg.log(formattedMessage);
    }

    @EventHandler
    public void onPlayerMoveEvent(@NotNull PlayerMoveEvent event) {
        // Get the player and their position
        ServerPlayerEntity player = event.getPlayer();
        BlockPos pos = player.getBlockPos();
        // Format and send the coordinates as an action bar message
        String message = "X: " + pos.getX() + " Y: " + pos.getY() + " Z: " + pos.getZ();
        msg.sendActionBar(player, message);
    }
}

// Main Fabric mod class
public class ExampleMod implements ModInitializer {
    @Override
    public void onInitialize() {
        EventsRegistry.registerListener(new ExampleListener());
    }
}

Installation

To include ServerLibraries in your project, add the following to your build.gradle file.

Maven Repository

repositories {
    exclusiveContent {
        forRepository {
            maven {
                name = "Modrinth"
                url = "https://api.modrinth.com/maven"
            }
        }
        filter {
            includeGroup "maven.modrinth"
        }
    }
}

Dependency

Add the following dependency. Replace <version> with the version you want to use. You can find available versions here or use the version below for the latest stable release.

Stable Release Shield

dependencies {
    modImplementation "maven.modrinth:kjqxZ07F:<version>"
}

Documentation

Docs can be found on here.

About

Lightweight API built upon Fabric to facilitate server-side mod development

Resources

License

Stars

Watchers

Forks