Triggers

About
Triggers is a library mod that provides a unified, modular, Forge-style event API for in-game triggers and
advancement criteria. It abstracts standard Minecraft triggers (such as item enchantment, block interactions, taming
animals, and earning stats) into an easy-to-use event bus. This allows developers to seamlessly listen to and handle
these actions across multi-loader environments (Forge, Fabric, and NeoForge) without needing to mixin to the triggers
themselves.
For Developers
Adding to your build.gradle
You can easily add Triggers to your development environment using the Modrinth Maven.
First, add the Modrinth maven to your repositories block:
repositories {
exclusiveContent {
forRepository {
maven {
url = "" rel="noopener nofollow" target="_blank">https://api.modrinth.com/maven"
}
}
filter {
includeGroup "maven.modrinth"
}
}
}
Then, add the mod as a dependency in your dependencies block:
dependencies {
// Replace <version> with the target version of Triggers
implementation "maven.modrinth:triggers:<version>"
}
Example Usage
Triggers uses a custom event bus that functions similarly to Forge's event bus. You can register listeners to
Triggers.EVENTS and listen for specific events.
import com.evandev.triggers.Triggers;
import com.evandev.triggers.event.events.TriggerEntityEvent;
import com.evandev.triggers.event.events.TriggerPlayerEvent;
public class MyMod {
public static void init() {
// Listen for when a player enchants an item
Triggers.EVENTS.addListener(TriggerPlayerEvent.Enchant.class, event -> {
System.out.println(event.player.getName().getString() + " enchanted " + event.item);
});
// Listen for when an animal is tamed
Triggers.EVENTS.addListener(TriggerEntityEvent.TameAnimal.class, event -> {
if (event.causedByPlayer != null) {
System.out.println("Animal tamed by: " + event.causedByPlayer.getName().getString());
}
});
}
}
License

