Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Skills;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.LivingEntity;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import HotBarMessageAPI.HotBarMessage;
- import me.DrDaddel.Main.Main;
- import net.minecraft.server.v1_12_R1.EnumParticle;
- import net.minecraft.server.v1_12_R1.PacketPlayOutWorldParticles;
- public class Blutung implements Listener {
- int duration = 3;
- int blutung;
- @SuppressWarnings("deprecation")
- @EventHandler
- public void onHit(EntityDamageByEntityEvent e) {
- if (Bukkit.getScheduler().isCurrentlyRunning(blutung)) {
- return;
- }
- if (e.isCancelled())
- return;
- Player p = (Player) e.getDamager();
- Entity t = e.getEntity();
- if (e.getDamager() instanceof Player) {
- if (p.getLevel() >= SkillRatesPlusLevel.getLevelBlutung) {
- if (p.getItemInHand().getType().equals(Material.WOOD_SWORD)
- || p.getItemInHand().getType().equals(Material.STONE_SWORD)
- || p.getItemInHand().getType().equals(Material.IRON_SWORD)
- || p.getItemInHand().getType().equals(Material.GOLD_SWORD)
- || p.getItemInHand().getType().equals(Material.DIAMOND_SWORD)) {
- double rand = Math.random() * 100;
- double rate = SkillRatesPlusLevel.getRateBlutung(p);
- if (rand >= 0 && rand <= rate) {
- blutung = Bukkit.getScheduler().scheduleAsyncRepeatingTask(Main.instance, new Runnable() {
- @Override
- public void run() {
- if (duration != 0)
- {
- duration--;
- // p.sendMessage("Test");
- if (t instanceof Player) {
- ((Player) t).damage(1.0);
- HotBarMessage.sendActionBar((Player) t, "ยงc**Du Blutest**");
- }
- if (t instanceof LivingEntity) {
- ((LivingEntity) t).damage(1.0);
- }
- PacketPlayOutWorldParticles joinParticle = new PacketPlayOutWorldParticles(
- EnumParticle.DAMAGE_INDICATOR, true, (float) t.getLocation().getX(),
- (float) t.getLocation().getY(), (float) t.getLocation().getZ(), -0.2F,
- -0.2F, -0.2F, -0.1F, 50, new int[0]);
- for (Player all : Bukkit.getOnlinePlayers()) {
- ((CraftPlayer) all).getHandle().playerConnection.sendPacket(joinParticle);
- }
- }
- else
- {
- duration = 3;
- Bukkit.getScheduler().cancelTask(blutung);
- }
- }
- }, 40, 40);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement