Triggers

A modular Forge-style event API for triggers!

40

Quick challenge

How far can you run before the mobs catch you?

Triggers

Triggers

forge fabric neoforge

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:

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

Then, add the mod as a dependency in your `dependencies` block:

```gradle 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.

```java 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

---

discord-plural github-plural

ADS