Skip to content

Quick Start ​

stommobs centers around MobSpawner and MobProfile.

Steps ​

  1. Create or obtain an EventNode<Event>
  2. Create a spawner and bind it to your event node
  3. Register profiles (vanilla or custom)
  4. Spawn mobs by profile id or by profile object

Example ​

kotlin
import net.minestom.server.coordinate.Pos
import net.minestom.server.event.Event
import net.minestom.server.event.EventNode
import net.minestom.server.instance.Instance
import codes.bed.minestom.mobs.StomMobs

fun quickStart(node: EventNode<Event>, instance: Instance) {
    // 1. Create a spawner bound to your event node
    val spawner = StomMobs.createSpawner(node, withVanillaProfiles = true)
    
    // 2. Spawn a zombie
    val zombie = spawner.spawnAt("vanilla:zombie", instance, 0.0, 42.0, 0.0, level = 5)
    
    // 3. Make it follow a player
    if (instance.players.isNotEmpty()) {
        val player = instance.players.first()
        spawner.followPlayer(zombie, player)
    }
}
java
import net.minestom.server.coordinate.Pos;
import net.minestom.server.event.Event;
import net.minestom.server.event.EventNode;
import net.minestom.server.instance.Instance;
import net.minestom.server.entity.Player;
import codes.bed.minestom.mobs.StomMobs;
import codes.bed.minestom.mobs.spawn.MobSpawner;

public final class QuickStart {
    public static void run(EventNode<Event> node, Instance instance) {
        // 1. Create a spawner bound to your event node
        MobSpawner spawner = StomMobs.spawnerWithVanillaProfiles(node);

        // 2. Spawn a zombie
        var zombie = spawner.spawnAt("vanilla:zombie", instance, 0, 42, 0, 5);

        // 3. Make it follow a player
        if (!instance.getPlayers().isEmpty()) {
            Player player = instance.getPlayers().iterator().next();
            spawner.followPlayer(zombie, player);
        }
    }
}

Released under the MIT License.