package com.taiter.ce.Enchantments.Global; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import org.bukkit.scheduler.BukkitRunnable; import com.taiter.ce.EffectManager; import com.taiter.ce.Enchantments.CEnchantment; public class Block extends CEnchantment { int strength; int cooldown; public Block(Application app) { super(app); configEntries.put("Strength", 1); configEntries.put("Cooldown", 600); triggers.add(Trigger.INTERACT_RIGHT); } @Override public void effect(Event e, ItemStack item, final int level) { PlayerInteractEvent event = (PlayerInteractEvent) e; final Player owner = event.getPlayer(); EffectManager.playSound(event.getPlayer().getLocation(), "BLOCK_ANVIL_LAND", 0.8f, 1); new BukkitRunnable() { PotionEffect resistance = new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 20, strength + level); @Override public void run() { if(owner.isBlocking()) { owner.addPotionEffect(resistance); } else { generateCooldown(owner, cooldown); this.cancel(); } } }.runTaskTimer(getPlugin(), 0l, 15l); } @Override public void initConfigEntries() { strength = Integer.parseInt(getConfig().getString("Enchantments." + getOriginalName() + ".Strength"))-1; cooldown = Integer.parseInt(getConfig().getString("Enchantments." + getOriginalName() + ".Cooldown")); } }