Custom Items

Discussion in 'Plugin Development' started by ImpaTheImpaler, Jan 17, 2015.

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

    ImpaTheImpaler

    So I was trying to make a plugin where when you respawn it adds a custom item to your inventory. The plugin has no errors when loaded, and my server registers it as a plugin, but it just doesn't work. When I respawn I do not get the weapon I told my code to give me. Any help would be appreciated.

    Code:
    package me.impatheimpaler.custom;
    
    import java.util.Arrays;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerRespawnEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class customitems extends JavaPlugin implements Listener{
        @EventHandler
        public void onPlayerRespawn(PlayerRespawnEvent e) {
        {
        Player p = e.getPlayer();
        ItemStack i = setMeta(new ItemStack(Material.WOOD_SWORD), ChatColor.WHITE + "Blunt Sword", Arrays.asList(ChatColor.RED + "Damage: 3 - 5"));
        p.getInventory().addItem(i);
      }
        }
      public void onEnable()
      {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
      }
        public ItemStack setMeta(ItemStack material, String name, List<String> lore) {
            if (material == null || name == null || lore == null) return null;
           
            ItemMeta im = material.getItemMeta();
           
            if (name != null) {
                im.setDisplayName(name);
            }
           
            if (lore != null) {
                im.setLore(lore);
            }
           
            material.setItemMeta(im);
            return material;
        }
       
    }
    
    
     
  2. Offline

    ShadowLAX

  3. Offline

    eleectricman226

    @ImpaTheImpaler Delay might be a problem, but I would try updating the players inventory after you given them the item.

    Code:
    player.updateInventory()
     
Thread Status:
Not open for further replies.

Share This Page