Modscraper Modscraper Minecraft
EventsLib logo

EventsLib

Mod

by STS15

An events library adding in missing event listeners

Type

Mod

CurseForge Downloads

981,681

CurseForge ID

1122002

Last Updated

Apr 12, 2026

Description

This library is intended to be used along side some of my mods that require more specific events for effects.  This mod adds in no items or changes the game in any way.  It has no beneficial use for players unless there is another mod that requires it and utilizes the additional events.

 

It adds in an event called MobEffectTickEvent which provides the modder with an interface to get the percentage left of the duration of the effect, as well as the effect instance and entity should you need any of those.

// Example for MobEffectTickEvent @SubscribeEvent public static void onMobEffectTick(MobEffectTickEvent event) { float percentageLeft = event.getPercentageLeft(); String entityName = event.getEntity().getName().getString(); String effectName = event.getEffectInstance().getEffect().value().toString(); System.out.println("Entity: " + entityName + " is affected by: " + effectName + " with " + percentageLeft + "% duration remaining."); if (percentageLeft == 50.0f) { System.out.println("Effect on " + entityName + " is at 50% duration for effect: " + effectName); } if (percentageLeft == 20.0f) { System.out.println("Effect on " + entityName + " is at 20% duration for effect: " + effectName); } }

 

It also adds in a method that is run once when the effect wears off.  In my Fargo's Talismans mod, I use this to remove the attributes that are added to the player by the pedestal, rather than by running a PlayerTick method.

// Example for onEffectRemoved (In a MobEffectEndEffect extended class) @Override public void onEffectRemoved(LivingEntity entity, int amplifier) { super.onEffectRemoved(entity, amplifier); if (entity instanceof Player) { System.out.println("Effect has worn off."); } }

Similar Mods

Included in Modpacks

External Resources