How can i put my kits in my inv?

Discussion in 'Plugin Development' started by Kipnugget, Sep 19, 2016.

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

    Kipnugget

    I am very busy with a kitpvp plugin i am working on! but, i am a beginner. so i dont know alot.
    Can someone tell me how i can put my kits into my inventorygui?

    Main:

    Code:
    package me.mepvp.main;
    
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import me.mepvp.listeners.PlayerListeners;
    
    public class Main extends JavaPlugin {
    
        private static Main instance;
    
        public void log(String string) {
            System.out.println(string);
          
        }
    
        public void registerCommands() {
    
        }
    
        public static Main getInstance() {
            return instance;
    
        }
    
        public void registerListeners() {
            PluginManager pm = getServer().getPluginManager();
            pm.registerEvents(new PlayerListeners(this), this);
    
        }
    
        public void onEnable() {
            registerListeners();
            registerCommands();
            instance = null;
        }
    
        public void onDisable() {
            instance = null;
          
        }
    
        public boolean onCommand(Command sender, Command cmd, String commandLabel, String[] args) {
    
            if (cmd.getName().equalsIgnoreCase("Warrior") && sender instanceof Player) {
    
                Player p = (Player) sender;
                p.sendMessage("U have chosen the Warrior kit!");
    
                p.getInventory().clear();
                ItemStack WarriorSword = new ItemStack(Material.STONE_SWORD);
                ItemMeta m = WarriorSword.getItemMeta();
                WarriorSword.setItemMeta(m);
                p.getInventory().clear();
                p.getInventory().addItem(WarriorSword);
                p.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
    
            }
    
            if (cmd.getName().equalsIgnoreCase("Archer") && sender instanceof Player) {
    
                Player p = (Player) sender;
                p.sendMessage("U have chosen the Archer kit!");
    
                p.getInventory().clear();
                ItemStack ArcherBow = new ItemStack(Material.BOW);
                ItemMeta m = ArcherBow.getItemMeta();
                ArcherBow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
                ArcherBow.setItemMeta(m);
                p.getInventory().clear();
                p.getInventory().addItem(new ItemStack(Material.WOOD_SWORD));
                p.getInventory().addItem(ArcherBow);      
                p.getInventory().addItem(new ItemStack(Material.ARROW, 1));
                p.getInventory().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
                p.getInventory().setChestplate(new ItemStack(Material.LEATHER_LEGGINGS));
            }
            return false;
          
        }
    
    }
    PlayerListeners:
    Code:
    package me.mepvp.listeners;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.block.Block;
    import org.bukkit.entity.Item;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerDropItemEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.event.player.PlayerRespawnEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.potion.PotionEffect;
    
    import me.mepvp.main.Main;
    
    public class PlayerListeners implements Listener {
    
        Main plugin;
        private Inventory inv;
    
        public PlayerListeners(Main instance) {
            this.plugin = instance;
    
        }
    
        @EventHandler
        public void PlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            String pname = p.getName();
            p.getInventory().clear();
    
            Bukkit.broadcastMessage("" + ChatColor.GRAY + e.getPlayer().getName() + ChatColor.RED + " Has joined KitPvP!");
    
            ItemStack kitselector = new ItemStack(Material.COMPASS);
            ItemMeta m = kitselector.getItemMeta();
            m.setDisplayName(ChatColor.RED + "Kit Selector");
            kitselector.setItemMeta(m);
            p.getInventory().setItem(4, kitselector);
          
        }
          
             @EventHandler(priority = EventPriority.MONITOR)
             public void onPlayerDropItem(PlayerDropItemEvent event) {
                   event.getPlayer().setItemInHand(event.getItemDrop().getItemStack());
                   event.getItemDrop().remove();
             }
    
             @EventHandler
              public void OnPlayerInteraction(PlayerInteractEvent e) {
                if (e.getAction()==Action.RIGHT_CLICK_AIR || e.getAction()==Action.RIGHT_CLICK_BLOCK){
                  if (e.getItem()!=null && e.getItem().hasItemMeta() && e.getItem().getItemMeta().hasDisplayName() && e.getItem().getItemMeta().getDisplayName().equals(ChatColor.RED + "Kit Selector")){
                  Inventory i = Bukkit.createInventory(null, 9, ChatColor.RED +"Kit Selector");
                  e.getPlayer().openInventory(i);
                
                  ItemStack Warrior = new ItemStack(Material.STONE_SWORD);
                  ItemMeta meta = Warrior.getItemMeta();
                  meta.setDisplayName(ChatColor.GRAY + "Select Warrior Kit!");
                  Warrior.setItemMeta(meta);
                
                
                  ItemStack Archer = new ItemStack(Material.BOW);
                  ItemMeta meta1 = Warrior.getItemMeta();
                  meta1.setDisplayName(ChatColor.GRAY + "Select Archer Kit!");
                  Archer.setItemMeta(meta1);
                
                  Inventory inv = Bukkit.createInventory(null, 9, ChatColor.RED + "Kit Selector");
                
                  inv.setItem(2, Warrior);
                
                  inv.setItem(6, Archer);
                
                  e.getPlayer().openInventory(inv);
                
                
                  }
                }
              }
    
        @EventHandler
        public void PlayerLeave(PlayerQuitEvent e) {
            Player p = e.getPlayer();
            String pname = p.getName();
            p.getInventory().clear();
            Bukkit.broadcastMessage("" + ChatColor.GRAY + pname + ChatColor.RED + " Has left KitPvP!");
    
        }
    
        @EventHandler
        public void Death(PlayerDeathEvent e) {
    
            Player p = e.getEntity();
            Player k = p.getKiller();
            e.getDrops().clear();
            e.setDeathMessage("" + ChatColor.GRAY + e.getEntity() + ChatColor.RED + " Got killed by " + ChatColor.GRAY + p.getKiller());
    
        }
    
        @EventHandler
        public void Respawn(PlayerRespawnEvent e) {
            Player p = e.getPlayer();
    
            ItemStack kitselector = new ItemStack(Material.COMPASS);
            ItemMeta m = kitselector.getItemMeta();
            m.setDisplayName(ChatColor.RED + "Kit Selector");
            kitselector.setItemMeta(m);
            p.getInventory().setItem(4, kitselector);
    
        }
    
    }
     
    Last edited by a moderator: Sep 19, 2016
  2. Offline

    CraftCreeper6

    @Kipnugget
    Why do you create two inventorys? Remove these lines.
    Inventory i = Bukkit.createInventory(null, 9, ChatColor.RED +"Kit Selector");
    e.getPlayer().openInventory(i);

    As they do nothing but open an empty inventory which could be causing issues with your secondary inventory.
     
  3. Offline

    JanTuck

    Since you already have the commands /archer, /warrior. You should just make the player execute these with an Listener on InventoryClickEvent.
     
  4. @Kipnugget Your package will likely conflict with any other plugin you make. your package should be in this format: me.<username>.<project>
     
Thread Status:
Not open for further replies.

Share This Page