1.16.5 Damageables

Discussion in 'Spigot Plugin Development' started by StTrigger, Jul 19, 2021.

Thread Status:
Not open for further replies.
  1. I need to make a that every cycle item on my head is loosing 1 durablility.
    My version of it:
    Code (Java):
            new BukkitRunnable() {
                public void run() {
                    ItemStack hazmat = new ItemStack(Material.IRON_HELMET, 1);
                    ItemMeta hazmatmeta = hazmat.getItemMeta();
                    hazmatmeta.setDisplayName(ChatColor.YELLOW + "Hazmat Mask");
                    PersistentDataContainer  hazmatdata = hazmatmeta.getPersistentDataContainer();
                    hazmatdata.set(new NamespacedKey(Nuker.getPlugin(), "hazmat"), PersistentDataType.STRING, "hazmat");
                    hazmat.setItemMeta(hazmatmeta);

                    if (isBombActivated()) Bukkit.getOnlinePlayers().forEach(p -> {

                        if (p.getLocation().getY() >= 70 && !isSimilar(p.getInventory().getHelmet(), hazmat)) {
                            p.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.HARM, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 60, 2));
                        } else if (p.getLocation().getY() >= 60 && !isSimilar(p.getInventory().getHelmet(), hazmat)) {
                            p.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.HARM, 20, 1));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 60, 2));
                        } else if (p.getLocation().getY() >= 50 && !isSimilar(p.getInventory().getHelmet(), hazmat)) {
                            p.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 20, 1));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 20, 2));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20, 2));
                        } else if (p.getLocation().getY() >= 40 && !isSimilar(p.getInventory().getHelmet(), hazmat)) {
                            p.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 20, 1));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 20, 1));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20, 2));
                        } else if (p.getLocation().getY() >= 30 && !isSimilar(p.getInventory().getHelmet(), hazmat)) {
                            p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20, 1));
                            p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20, 1));
                        } else if (p.getLocation().getY() >= 20 && !isSimilar(p.getInventory().getHelmet(), hazmat)) {
                            p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20, 1));
                        } else if (p.getLocation().getY() >= 20 && p.getInventory().getHelmet().getItemMeta().getPersistentDataContainer().has(new NamespacedKey(Nuker.getPlugin(), "hazmat"), PersistentDataType.STRING)) {
                            ItemStack playerst = p.getInventory().getHelmet();
                            Damageable meta = (Damageable) playerst;
                            ItemMeta playerme = playerst.getItemMeta();
                            meta.setDamage(meta.getDamage() +  1);
                            p.getInventory().getHelmet().setItemMeta(playerme);

                        }
                    });
                }
            }.runTaskTimer(this, 1, 19);
    P.S: ik that all "if"s exepept the last one is broken, ill fix. that later. Now i need only damageable at the last "else if"
     
    #1 StTrigger, Jul 19, 2021
    Last edited: Jul 19, 2021
Thread Status:
Not open for further replies.