package me.km.effects.active; import me.km.KajetansMod; import me.km.effects.ActiveEffectBase; import me.km.effects.EffectUtils; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.projectile.EntityTippedArrow; import net.minecraft.init.MobEffects; public class PoisonVolley extends ActiveEffectBase { @Override protected boolean executeEffect(EntityPlayerMP p, int power) { shoot(p, power); for(int i = 1; i <= 5; i++) { KajetansMod.scheduler.scheduleTask(() -> shoot(p, power), 10 * i); } return true; } @Override protected int getManaCost(int manaFactor) { return 4 * manaFactor; } private void shoot(EntityPlayerMP p, int power) { EntityTippedArrow arrow = EffectUtils.launchTippedArrow(p, power / 2d, MobEffects.POISON, power * 60, 1); arrow.setDamage(0.1); arrow.pickupStatus = EntityTippedArrow.PickupStatus.DISALLOWED; } }