get itemstack material type

Discussion in 'Plugin Development' started by 7804364, Jul 11, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    7804364

    if (item.getType() == Material.WOOD_SWORD || item.getType() == Material.WOOD_AXE || item.getType() == Material.WOOD_PICKAXE) {}

    Does not seem to be working for me :s
     
  2. @7804364 use equals() to compare instead of ==
     
  3. Offline

    teej107

    It doesn't matter for enums

    @7804364 Please post more code. It looks fine to me
     
  4. Offline

    7804364

    Code:
            @EventHandler
            public void onDeath(EntityDeathEvent e) {
                Player player = e.getEntity().getKiller();
                String name = e.getEntity().getCustomName();
                applyExp(name, player, name);
                Drops drop = new Drops();
                drop.sendDrop(getRandom(10),1,player);
            }
    Which calls the sendDrop Method which
    Code:
    public void sendDrop (int rarity, int amount, Player player) {
            Material[] meleeList = {Material.WOOD_AXE, Material.WOOD_SWORD, Material.WOOD_PICKAXE, Material.STONE_AXE, Material.STONE_SWORD, Material.STONE_PICKAXE, Material.GOLD_AXE, Material.GOLD_SWORD, Material.GOLD_PICKAXE, Material.IRON_AXE, Material.IRON_SWORD, Material.IRON_PICKAXE,Material.DIAMOND_AXE, Material.DIAMOND_SWORD, Material.DIAMOND_PICKAXE, Material.CHAINMAIL_BOOTS, Material.CHAINMAIL_CHESTPLATE, Material.CHAINMAIL_HELMET, Material.CHAINMAIL_LEGGINGS, Material.LEATHER_BOOTS, Material.LEATHER_CHESTPLATE, Material.LEATHER_HELMET, Material.LEATHER_LEGGINGS, Material.IRON_BOOTS, Material.IRON_CHESTPLATE, Material.IRON_HELMET, Material.IRON_LEGGINGS, Material.GOLD_BOOTS, Material.GOLD_CHESTPLATE, Material.GOLD_HELMET, Material.GOLD_LEGGINGS, Material.DIAMOND_BOOTS, Material.DIAMOND_CHESTPLATE, Material.DIAMOND_HELMET, Material.DIAMOND_LEGGINGS, Material.BOW};
            if (rarity == 1) {
                player.sendMessage(ChatColor.GREEN + "Monster just dropped a uncommon item!");
                ItemStack item = new ItemStack(meleeList[getRandom(meleeList.length)], amount);
                ItemMeta im = item.getItemMeta();
                String iname = item.getType().name();
                im.setDisplayName(ChatColor.GREEN + "Uncommon " + iname);
                if (item.getType() == Material.WOOD_SWORD || item.getType() == Material.WOOD_AXE || item.getType() == Material.WOOD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + (randomNum() + 3), ChatColor.AQUA + "Defence: " + (randomNum() + 3), ChatColor.RED + "Health: " + (randomNum() + 3), ChatColor.GOLD +"Damage: " + (randomNum() + 3)));
                } else if (item.getType() == Material.STONE_SWORD || item.getType() == Material.STONE_AXE || item.getType() == Material.STONE_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + (randomNum() + 6), ChatColor.AQUA + "Defence: " + (randomNum() + 6), ChatColor.RED + "Health: " + (randomNum() + 6), ChatColor.GOLD +"Damage: " + (randomNum() + 6)));
                } else if (item.getType() == Material.GOLD_SWORD || item.getType() == Material.GOLD_AXE || item.getType() == Material.GOLD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + (randomNum() + 9), ChatColor.AQUA + "Defence: " + (randomNum() + 9), ChatColor.RED + "Health: " + (randomNum() + 9), ChatColor.GOLD +"Damage: " + (randomNum() + 9)));
                } else if (item.getType() == Material.IRON_SWORD || item.getType() == Material.IRON_AXE || item.getType() == Material.IRON_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + (randomNum() + 12), ChatColor.AQUA + "Defence: " + (randomNum() + 12), ChatColor.RED + "Health: " + (randomNum() + 12), ChatColor.GOLD +"Damage: " + (randomNum() + 12)));
                } else if (item.getType() == Material.DIAMOND_SWORD || item.getType() == Material.DIAMOND_AXE || item.getType() == Material.DIAMOND_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + (randomNum() + 15), ChatColor.AQUA + "Defence: " + (randomNum() + 15), ChatColor.RED + "Health: " + (randomNum() + 15), ChatColor.GOLD +"Damage: " + (randomNum() + 15)));
                } else {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + (randomNum() + 3), ChatColor.AQUA + "Defence: " + (randomNum() + 3), ChatColor.RED + "Health: " + (randomNum() + 3), ChatColor.GOLD +"Damage: " + (randomNum() + 3)));
                }
                item.setItemMeta(im);
                player.getInventory().addItem(item);
            } else if (rarity == 2) {
                player.sendMessage(ChatColor.BLUE + "Monster just dropped a rare item!");
                ItemStack item = new ItemStack(meleeList[getRandom(meleeList.length)], 1);
                ItemMeta im = item.getItemMeta();
                String iname = item.getType().name();
                im.setDisplayName(ChatColor.BLUE + "Rare " + iname);
                if (item.getType() == Material.WOOD_SWORD || item.getType() == Material.WOOD_AXE || item.getType() == Material.WOOD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.2 + 6), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.2 + 6), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.2 + 6),ChatColor.GOLD +"Damage: " + (randomNum() + 6)));
                } else if (item.getType() == Material.STONE_SWORD || item.getType() == Material.STONE_AXE || item.getType() == Material.STONE_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.2 + 9), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.2 + 9), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.2 + 9),ChatColor.GOLD +"Damage: " + (randomNum() + 9)));
                } else if (item.getType() == Material.GOLD_SWORD || item.getType() == Material.GOLD_AXE || item.getType() == Material.GOLD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.2 + 12), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.2 + 12), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.2 + 12),ChatColor.GOLD +"Damage: " + (randomNum() + 12)));
                } else if (item.getType() == Material.IRON_SWORD || item.getType() == Material.IRON_AXE || item.getType() == Material.IRON_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.2 + 15), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.2 + 15), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.2 + 15),ChatColor.GOLD +"Damage: " + (randomNum() + 15)));
                } else if (item.getType() == Material.DIAMOND_SWORD || item.getType() == Material.DIAMOND_AXE || item.getType() == Material.DIAMOND_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.2 + 18), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.2 + 18), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.2 + 18),ChatColor.GOLD +"Damage: " + (randomNum() + 18)));
                } else {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.2 + 6), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.2 + 6), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.2 + 6),ChatColor.GOLD +"Damage: " + (randomNum() + 6)));
                }
                item.setItemMeta(im);
                player.getInventory().addItem(item);
            } else if (rarity == 3) {
                player.sendMessage(ChatColor.DARK_PURPLE + "Monster just dropped a epic item!");
                ItemStack item = new ItemStack(meleeList[getRandom(meleeList.length)], 1);
                ItemMeta im = item.getItemMeta();
                String iname = item.getType().name();
                im.setDisplayName(ChatColor.DARK_PURPLE + "Epic " + iname);
                if (item.getType() == Material.WOOD_SWORD || item.getType() == Material.WOOD_AXE || item.getType() == Material.WOOD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.6 + 12), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.6 + 12), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.6 + 12), ChatColor.GOLD +"Damage: " + (randomNum() +12)));
                } else if (item.getType() == Material.STONE_SWORD || item.getType() == Material.STONE_AXE || item.getType() == Material.STONE_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.6 + 15), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.6 + 15), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.6 + 15), ChatColor.GOLD +"Damage: " + (randomNum() +15)));
                } else if (item.getType() == Material.GOLD_SWORD || item.getType() == Material.GOLD_AXE || item.getType() == Material.GOLD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.6 + 18), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.6 + 18), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.6 + 18), ChatColor.GOLD +"Damage: " + (randomNum() +18)));
                } else if (item.getType() == Material.IRON_SWORD || item.getType() == Material.IRON_AXE || item.getType() == Material.IRON_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.6 + 21), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.6 + 21), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.6 + 21), ChatColor.GOLD +"Damage: " + (randomNum() +21)));
                } else if (item.getType() == Material.DIAMOND_SWORD || item.getType() == Material.DIAMOND_AXE || item.getType() == Material.DIAMOND_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.6 + 24), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.6 + 24), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.6 + 24), ChatColor.GOLD +"Damage: " + (randomNum() +24)));
                } else {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 1.6 + 9), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 1.6 + 9), ChatColor.RED + "Health: " + Math.round(randomNum() * 1.6 + 9), ChatColor.GOLD +"Damage: " + (randomNum() +9)));
                }
                item.setItemMeta(im);
                player.getInventory().addItem(item);
            } else if (rarity == 4) {
                player.sendMessage(ChatColor.GOLD + "Monster just dropped a legendary item!");
                ItemStack item = new ItemStack(meleeList[getRandom(meleeList.length)], 1);
                ItemMeta im = item.getItemMeta();
                String iname = item.getType().name();
                im.setDisplayName(ChatColor.GOLD + "Legendary " + iname);
                if (item.getType() == Material.WOOD_SWORD || item.getType() == Material.WOOD_AXE || item.getType() == Material.WOOD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 2 + 15), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 2 + 15), ChatColor.RED + "Health: " + Math.round(randomNum() * 2 + 15),ChatColor.GOLD +"Damage: " + (randomNum() + 15)));
                } else if (item.getType() == Material.STONE_SWORD || item.getType() == Material.STONE_AXE || item.getType() == Material.STONE_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 2 + 18), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 2 + 18), ChatColor.RED + "Health: " + Math.round(randomNum() * 2 + 18),ChatColor.GOLD +"Damage: " + (randomNum() + 18)));
                } else if (item.getType() == Material.GOLD_SWORD || item.getType() == Material.GOLD_AXE || item.getType() == Material.GOLD_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 2 + 21), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 2 + 21), ChatColor.RED + "Health: " + Math.round(randomNum() * 2 + 21),ChatColor.GOLD +"Damage: " + (randomNum() + 21)));
                } else if (item.getType() == Material.IRON_SWORD || item.getType() == Material.IRON_AXE || item.getType() == Material.IRON_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 2 + 24), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 2 + 24), ChatColor.RED + "Health: " + Math.round(randomNum() * 2 + 24),ChatColor.GOLD +"Damage: " + (randomNum() + 24)));
                } else if (item.getType() == Material.DIAMOND_SWORD || item.getType() == Material.DIAMOND_AXE || item.getType() == Material.DIAMOND_PICKAXE) {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 2 + 27), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 2 + 27), ChatColor.RED + "Health: " + Math.round(randomNum() * 2 + 27),ChatColor.GOLD +"Damage: " + (randomNum() + 27)));
                } else {
                    im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum() * 2 + 12), ChatColor.AQUA + "Defence: " + Math.round(randomNum() * 2 + 12), ChatColor.RED + "Health: " + Math.round(randomNum() * 2 + 12),ChatColor.GOLD +"Damage: " + (randomNum() + 12)));
                }
                item.setItemMeta(im);
                player.getInventory().addItem(item);
            } else {
                player.sendMessage("Monster just dropped a item!");
                ItemStack item = new ItemStack(meleeList[getRandom(meleeList.length)], 1);
                ItemMeta im = item.getItemMeta();
                String iname = item.getType().name();
                im.setDisplayName("Common "+iname);
                im.setLore(Arrays.asList(ChatColor.YELLOW + "Strength: " + Math.round(randomNum()), ChatColor.AQUA + "Defence: " + Math.round(randomNum()), ChatColor.RED + "Health: " + Math.round(randomNum()),ChatColor.GOLD +"Damage: " + (randomNum())));
                item.setItemMeta(im);
                player.getInventory().addItem(item);
            }
        }
     
  5. Offline

    DividedByZero

    YOur item is null.
     
  6. Offline

    MasterMatt5

    @7804364 Change
    Code:
    Material[] meleeList = {Material.WOOD_AXE, Material.WOOD_SWORD, Material.WOOD_PICKAXE, Material.STONE_AXE, Material.STONE_SWORD, Material.STONE_PICKAXE, Material.GOLD_AXE, Material.GOLD_SWORD, Material.GOLD_PICKAXE, Material.IRON_AXE, Material.IRON_SWORD, Material.IRON_PICKAXE,Material.DIAMOND_AXE, Material.DIAMOND_SWORD, Material.DIAMOND_PICKAXE, Material.CHAINMAIL_BOOTS, Material.CHAINMAIL_CHESTPLATE, Material.CHAINMAIL_HELMET, Material.CHAINMAIL_LEGGINGS, Material.LEATHER_BOOTS, Material.LEATHER_CHESTPLATE, Material.LEATHER_HELMET, Material.LEATHER_LEGGINGS, Material.IRON_BOOTS, Material.IRON_CHESTPLATE, Material.IRON_HELMET, Material.IRON_LEGGINGS, Material.GOLD_BOOTS, Material.GOLD_CHESTPLATE, Material.GOLD_HELMET, Material.GOLD_LEGGINGS, Material.DIAMOND_BOOTS, Material.DIAMOND_CHESTPLATE, Material.DIAMOND_HELMET, Material.DIAMOND_LEGGINGS, Material.BOW};
    to
    Code:
    Material[] meleeList = new Material[]{Material.WOOD_AXE, Material.WOOD_SWORD, Material.WOOD_PICKAXE, Material.STONE_AXE, Material.STONE_SWORD, Material.STONE_PICKAXE, Material.GOLD_AXE, Material.GOLD_SWORD, Material.GOLD_PICKAXE, Material.IRON_AXE, Material.IRON_SWORD, Material.IRON_PICKAXE,Material.DIAMOND_AXE, Material.DIAMOND_SWORD, Material.DIAMOND_PICKAXE, Material.CHAINMAIL_BOOTS, Material.CHAINMAIL_CHESTPLATE, Material.CHAINMAIL_HELMET, Material.CHAINMAIL_LEGGINGS, Material.LEATHER_BOOTS, Material.LEATHER_CHESTPLATE, Material.LEATHER_HELMET, Material.LEATHER_LEGGINGS, Material.IRON_BOOTS, Material.IRON_CHESTPLATE, Material.IRON_HELMET, Material.IRON_LEGGINGS, Material.GOLD_BOOTS, Material.GOLD_CHESTPLATE, Material.GOLD_HELMET, Material.GOLD_LEGGINGS, Material.DIAMOND_BOOTS, Material.DIAMOND_CHESTPLATE, Material.DIAMOND_HELMET, Material.DIAMOND_LEGGINGS, Material.BOW};
     
    Last edited: Jul 11, 2015
Thread Status:
Not open for further replies.

Share This Page