@Override public SkillResult use(Hero hero, LivingEntity target, String[] args) { Player player = hero.getPlayer(); if (target.equals(player) || hero.getSummons().contains(target)) { return SkillResult.INVALID_TARGET; } long duration = SkillConfigManager.getUseSetting(hero, this, Setting.DURATION, 10000, false); long period = SkillConfigManager.getUseSetting(hero, this, Setting.PERIOD, 2000, true); int tickDamage = SkillConfigManager.getUseSetting(hero, this, "tick-damage", 1, false); BleedSkillEffect bEffect = new BleedSkillEffect(this, duration, period, tickDamage, player); if (target instanceof Player) { plugin.getHeroManager().getHero((Player) target).addEffect(bEffect); } else plugin.getEffectManager().addEntityEffect(target, bEffect); broadcastExecuteText(hero, target); return SkillResult.NORMAL; }