Скачать EventsLib — Minecraft Моды — ModStock

EventsLib

Активный

Установок

0

Последнее обновление

1 месяц назад

Версии

1.21 — 1.21.5
Клиент и сервер
Neoforge
Библиотеки

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.");
        }
    }
Участники проекта
STS15

STS15

Разработчик