nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft.

tome

Mod

Library for creating server-side skills

Server Library

15 downloads
0 followers
Createda month ago
Updated2 days ago

tome

A barebone library for creating server-side skills. Provides basic frameworks for skill casting, cooldowns, and containers. Does not include functional features like entity targeting.

Note: Until version 1.0.0, the API may change without prior notice.

Gradle Setup

Kotlin

repositories {
    mavenCentral()
}

dependencies {
    modImplementation("io.github.kouvali:tome:YOUR_VERSION")
}

Groovy

repositories {
    mavenCentral()
}

dependencies {
    modImplementation "io.github.kouvali:tome:YOUR_VERSION"
}

Usage

Here's a quick example of skill creation:

Java

Skill<Vec3> exampleSkill = Skill.<Vec3>builder()
        .setStateFactory(
                SkillStateFactory.alwaysOk(context ->
                        context.getSource().getForward()
                )
        )
        .setTickBehavior(instance -> {
            instance.getSource().setDeltaMovement(instance.getState());
            instance.getSource().hurtMarked = true;
        })
        .setCompleteBehavior(instance -> {
            instance.getSource().setDeltaMovement(Vec3.ZERO);
            instance.getSource().hurtMarked = true;
        })
        .setInterruptPredicate(instance ->
                !instance.getSource().isInvulnerable()
        )
        .setDurationProvider(
                SkillDurationProvider.constant(20)
        )
        .build();

Kotlin

val exampleSkill: Skill<Vec3> = Skill {
    alwaysOkStateFactory {
        source.forward
    }

    tickBehavior {
        source.deltaMovement = state
        source.hurtMarked = true
    }

    completeBehavior {
        source.deltaMovement = Vec3.ZERO
        source.hurtMarked = true
    }

    interruptPredicate {
        !source.isInvulnerable
    }

    constantDurationProvider(20)
}

External resources



Project members

Kouvali

Owner


Technical information

License
Apache-2.0
Client side
unsupported
Server side
required
Project ID
Expand Down