Advertisement
Guest User

Untitled

a guest
Nov 16th, 2014
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.39 KB | None | 0 0
  1. package me.xKishan.Hub;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Material;
  9. import org.bukkit.SkullType;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.block.Action;
  14. import org.bukkit.event.inventory.InventoryClickEvent;
  15. import org.bukkit.event.inventory.InventoryType;
  16. import org.bukkit.event.player.PlayerDropItemEvent;
  17. import org.bukkit.event.player.PlayerInteractEvent;
  18. import org.bukkit.event.player.PlayerJoinEvent;
  19. import org.bukkit.inventory.Inventory;
  20. import org.bukkit.inventory.ItemStack;
  21. import org.bukkit.inventory.meta.ItemMeta;
  22. import ru.tehkode.permissions.PermissionUser;
  23. import ru.tehkode.permissions.bukkit.PermissionsEx;
  24.  
  25. public class CompassHotbarGUI implements Listener {
  26.  
  27. public void getItem(Inventory i, int Slot, Material material, int amount,
  28. String name, String lore) {
  29.  
  30. ItemStack item = new ItemStack(material, amount);
  31. ItemMeta meta = item.getItemMeta();
  32. meta.setDisplayName(name);
  33. ArrayList<String> Lore = new ArrayList<String>();
  34. Lore.add(lore);
  35. meta.setLore(Lore);
  36. item.setItemMeta(meta);
  37.  
  38. i.setItem(Slot, item);
  39.  
  40. }
  41.  
  42. public void getItem(Inventory i, int Slot, Material material, int amount,
  43. SkullType type, String name, String lore, String lore2,
  44. String lore3, String lore4) {
  45.  
  46. ItemStack item = new ItemStack(material, amount, (short) type.ordinal());
  47. ItemMeta meta = item.getItemMeta();
  48. meta.setDisplayName(name);
  49. ArrayList<String> Lore = new ArrayList<String>();
  50. Lore.add(lore);
  51. Lore.add(lore2);
  52. Lore.add(lore3);
  53. Lore.add(lore4);
  54. meta.setLore(Lore);
  55. item.setItemMeta(meta);
  56.  
  57. i.setItem(Slot, item);
  58.  
  59. }
  60.  
  61. public static Inventory CompassGUI;
  62. ItemStack Compass = new ItemStack(Material.COMPASS);
  63. ItemMeta CompassMeta = Compass.getItemMeta();
  64. ItemStack PI = new ItemStack(Material.SKULL_ITEM, 1,
  65. (short) SkullType.PLAYER.ordinal());
  66. ItemMeta PIMeta = PI.getItemMeta();
  67. Player commander;
  68. String commanderName;
  69.  
  70. PermissionUser user;
  71. String prefix;
  72.  
  73. @EventHandler
  74. public void onPlayerJoinn(PlayerJoinEvent event) {
  75. CompassMeta.setDisplayName(ChatColor.GREEN + "Game Menu"
  76. + ChatColor.GRAY + " (Right Click)");
  77. CompassMeta.setLore(Arrays.asList(ChatColor.GRAY
  78. + "Right-click to bring up the lobby menu!"));
  79. Compass.setItemMeta(CompassMeta);
  80. InventoryType Player = InventoryType.PLAYER;
  81. if (!event.getPlayer().getInventory().getType().equals(Player)) {
  82. return;
  83. } else {
  84. event.getPlayer().getInventory().setItem(0, Compass);
  85. }
  86. }
  87.  
  88. @EventHandler
  89. public void onInventoryClick(InventoryClickEvent event) {
  90. if (!ChatColor.stripColor(event.getInventory().getName())
  91. .equalsIgnoreCase("Game Menu")) {
  92. return;
  93. }
  94. Player commander = (Player) event.getWhoClicked();
  95. event.setCancelled(true);
  96. ItemStack clicked = event.getCurrentItem();
  97.  
  98. if (clicked == null) {
  99. return;
  100. }
  101. if (clicked.equals(PI)) {
  102.  
  103. }
  104. }
  105.  
  106. @EventHandler
  107. public void onItemDrop(PlayerDropItemEvent event) {
  108. if (event.getItemDrop().getItemStack().equals(Compass)) {
  109. event.setCancelled(true);
  110. }
  111. }
  112.  
  113. @EventHandler
  114. public void onClickRight(PlayerInteractEvent event) {
  115. if (event.getItem() == null) {
  116. return;
  117. }
  118. if (event.getAction() != Action.PHYSICAL) {
  119.  
  120. if (event.getItem().equals(Compass)) {
  121. event.setCancelled(true);
  122. if (!event.getPlayer().hasPermission("hub.gamemenu")) {
  123. event.getPlayer().sendMessage(
  124. ChatColor.RED
  125. + "You are not permitted to use this!");
  126. return;
  127. } else {
  128. commander = event.getPlayer();
  129. commanderName = commander.getName();
  130. CompassGUI = Bukkit.getServer().createInventory(null, 36,
  131. ChatColor.BLACK + "Game Menu");
  132. commanderName = commander.getName();
  133. PIMeta.setDisplayName(ChatColor.AQUA
  134. + "Character Information");
  135. PI.setItemMeta(PIMeta);
  136. user = PermissionsEx.getUser(commander);
  137. prefix = (ChatColor.translateAlternateColorCodes('&',
  138. user.getPrefix()));
  139. float toNextLevel = (float) event.getPlayer()
  140. .getExpToLevel();
  141. float curExp = event.getPlayer().getExp();
  142. float reqToNextLevel = (1F - curExp);
  143. float diff = toNextLevel - (curExp * toNextLevel)
  144. - (reqToNextLevel * toNextLevel);
  145. // Only if the difference is disadvantageous
  146. if (diff < 1E-5) {
  147. reqToNextLevel += diff;
  148. }
  149. reqToNextLevel = (int) Math.floor(reqToNextLevel
  150. * toNextLevel);
  151. getItem(CompassGUI, 27, Material.SKULL_ITEM, 1,
  152. SkullType.PLAYER, ChatColor.GREEN
  153. + "Character Information", ChatColor.GRAY
  154. + "Username: " + ChatColor.GOLD
  155. + commanderName, ChatColor.GRAY + "Rank: "
  156. + prefix, ChatColor.GRAY
  157. + "Experience Level: " + ChatColor.GOLD
  158. + event.getPlayer().getLevel(),
  159. ChatColor.GRAY + "Experience Until Level "
  160. + (event.getPlayer().getLevel() + 1) + ": "
  161. + ChatColor.GOLD + (int) reqToNextLevel);
  162. PIMeta.setLore(Arrays.asList(ChatColor.GRAY + "Username: "
  163. + ChatColor.GOLD + commanderName, ChatColor.GRAY
  164. + "Rank: " + prefix, ChatColor.GRAY
  165. + "Experience Level: " + ChatColor.GOLD
  166. + event.getPlayer().getLevel(), ChatColor.GRAY
  167. + "Experience Until Level "
  168. + (event.getPlayer().getLevel() + 1) + ": "
  169. + ChatColor.GOLD + (int) reqToNextLevel));
  170. Main.characterInformationConfig.set(
  171. "Character Information." + commanderName
  172. + ".Rank Prefix", prefix);
  173. Main.characterInformationConfig.set(
  174. "Character Information." + commanderName
  175. + ".Experience Level", event.getPlayer()
  176. .getLevel());
  177. ;
  178. Main.characterInformationConfig.set(
  179. "Character Information." + commanderName
  180. + ".Experience Needed",
  181. (int) reqToNextLevel);
  182. Main.characterInformationConfig.saveConfig();
  183. PI.setItemMeta(PIMeta);
  184. event.getPlayer().openInventory(CompassGUI);
  185. }
  186. }
  187. }
  188. }
  189.  
  190. @EventHandler
  191. public void onInventoryClickStopChest(InventoryClickEvent event) {
  192. ItemStack clicked = event.getCurrentItem();
  193. int slot = event.getRawSlot();
  194. if (slot < 45 && slot > -1) {
  195. if (clicked == null) {
  196. return;
  197. }
  198. if (clicked.equals(Compass)) {
  199. event.setCancelled(true);
  200. }
  201. }
  202.  
  203. }
  204.  
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement