Solved gives 3 heads instead of 1?

Discussion in 'Plugin Help/Development/Requests' started by Scorpionvssub, Jul 9, 2015.

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

    Scorpionvssub

    Just updated a plugin to v2.0 adding a config on test this section that takes care of the player heads started to give 3 instead of 1.. and i cant figure out why, i know it says 3 in there but thats always been there and never caused an issue, here is the event handler.

    Code:
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onPlayerDeath(PlayerDeathEvent event) {
            Player killer = event.getEntity().getKiller();
    
            if (killer == null) {
                return;
            }
    
    
            String killername = killer.getName();
            String victimname = event.getEntity().getName();
    
            ItemStack item = killer.getItemInHand();
            String name;
    
            if (item == null || item.getType().equals(Material.AIR)) {
                name = "their fist";
            } else {
                ItemMeta meta = item.getItemMeta();
                if (meta.getDisplayName() != null) {
                    name = meta.getDisplayName();
                } else {
                    name = item.getType().toString();
                    String[] words = name.split("_");
                    StringBuilder wordstacker = new StringBuilder();
                    for (String word : words) {
                        word = word.toCharArray()[0] + word.substring(1, word.length()).toLowerCase();
                        wordstacker.append(word).append("_");
    
                    }
                    name = wordstacker.toString();
                    name = name.replaceAll("_", " ");
                }
            }
    
            ItemStack skull = new ItemStack(Material.SKULL_ITEM);
            skull.setDurability((short) 3);
            SkullMeta meta = (SkullMeta) skull.getItemMeta();
    
            meta.setDisplayName(victimname + "'s head");
            List<String> lore = new ArrayList<>();
            lore.add(color1 + "Couldnt keep his head");
            meta.setLore(lore);
            meta.setOwner(victimname);
            skull.setItemMeta(meta);
    
            killer.getInventory().addItem(skull);
            killer.updateInventory();
    
            String message = color2 + victimname + color1 + " was killed by " + color2 + killername + color1 + " using " + color2 + name + color1 + " and got their head";
            event.setDeathMessage(prefix + message);
        }
     
    Last edited: Jul 9, 2015
Thread Status:
Not open for further replies.

Share This Page