Vinetos

CREER UN PLUGIN BUKKIT #14 - Les Menus (Inventory GUI)

Dec 27th, 2014
2,430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. package ep14;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.inventory.InventoryClickEvent;
  14. import org.bukkit.inventory.Inventory;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.inventory.meta.ItemMeta;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18.  
  19. public class ep14 extends JavaPlugin implements Listener{
  20.  
  21.  
  22. public ArrayList<Player> online = new ArrayList<>();
  23.  
  24. @Override
  25. public void onEnable() {
  26. Bukkit.getPluginManager().registerEvents(this, this);
  27. }
  28.  
  29. @Override
  30. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  31. if(!(sender instanceof Player)){
  32. sender.sendMessage("§4Tu dois etre un joueur !");
  33. }
  34. if(cmd.getName().equalsIgnoreCase("menu")
  35. &&(sender.isOp())){
  36. Player p = (Player) sender;
  37. Menu(p);
  38. }
  39. return true;
  40. }
  41.  
  42. public void Menu(Player p){
  43.  
  44. Inventory inv = Bukkit.createInventory(null, 54, ChatColor.AQUA+"Menu "+ChatColor.RED+"Admin");
  45. /*Feed*/
  46. ItemStack gateau = new ItemStack(Material.CAKE);
  47. ItemMeta gateaum = gateau.getItemMeta();
  48.  
  49. gateaum.setDisplayName(ChatColor.DARK_GREEN+"Feed");
  50. gateau.setItemMeta(gateaum);
  51.  
  52. inv.setItem(2, gateau);
  53. /*Feed*/
  54.  
  55. /*Vie*/
  56. ItemStack potion = new ItemStack(Material.POTION);
  57. ItemMeta potionm = potion.getItemMeta();
  58.  
  59. potion.setDurability((short)8251);
  60. potionm.setDisplayName(ChatColor.LIGHT_PURPLE+"Heal");
  61. potion.setItemMeta(potionm);
  62.  
  63. inv.setItem(4, potion);
  64. /*Vie*/
  65.  
  66.  
  67. /*NB*/
  68. ItemStack head = new ItemStack(Material.BED);
  69. ItemMeta headm = head.getItemMeta();
  70.  
  71. headm.setDisplayName(ChatColor.GOLD+"Joueurs: "+Bukkit.getOnlinePlayers().length);
  72. head.setItemMeta(headm);
  73.  
  74. inv.setItem(6, head);
  75. /*NB*/
  76.  
  77.  
  78.  
  79. p.openInventory(inv);
  80. }
  81.  
  82.  
  83.  
  84. @EventHandler
  85. public void InventoryClick(InventoryClickEvent e){
  86. if(ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Menu Admin")){
  87. Player p = (Player) e.getWhoClicked();
  88. e.setCancelled(true);
  89. }
  90. if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR){
  91. return;
  92. }
  93.  
  94. switch(e.getCurrentItem().getType()){
  95. case CAKE:
  96. Player p = (Player) e.getWhoClicked();
  97. p.setFoodLevel(20);
  98. p.closeInventory();
  99. break;
  100. case POTION:
  101. Player p2 = (Player) e.getWhoClicked();
  102. p2.setHealth(20);
  103. p2.closeInventory();
  104. break;
  105. case BED:
  106. Player p3 = (Player) e.getWhoClicked();
  107. p3.sendMessage("§6Il y a §4"+Bukkit.getOnlinePlayers().length+" §4joueurs §6en ligne !");
  108. p3.closeInventory();
  109. break;
  110.  
  111. default:
  112. break;
  113. }
  114. }
  115.  
  116. }
Advertisement
Add Comment
Please, Sign In to add comment