Advertisement
Guest User

Untitled

a guest
Apr 29th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. package me.diamonddev.craftoblo.menus;
  2.  
  3. import com.coalesce.gui.PlayerGui;
  4. import com.coalesce.gui.ItemBuilder;
  5. import me.diamonddev.craftoblo.Craftoblo;
  6. import me.diamonddev.craftoblo.abilitys.AbilityObject;
  7. import me.diamonddev.craftoblo.camera.CameraManager;
  8. import me.diamonddev.craftoblo.classes.ClassType;
  9. import me.diamonddev.craftoblo.playerdata.DataManager;
  10. import me.diamonddev.craftoblo.playerdata.PlayerData;
  11. import me.diamonddev.craftoblo.scoreboard.SetupScorboard;
  12. import org.bukkit.ChatColor;
  13. import org.bukkit.Material;
  14. import org.bukkit.Sound;
  15. import org.bukkit.inventory.PlayerInventory;
  16. import org.bukkit.scheduler.BukkitRunnable;
  17.  
  18. public class ClassSelectionMenu extends PlayerGui {
  19.  
  20. public ClassSelectionMenu() {
  21. super(Craftoblo.gi(), 9, ChatColor.RED + "" + ChatColor.UNDERLINE + "Class Selector");
  22.  
  23. int count = 1;
  24. for (ClassType classType : ClassType.getRealClasses()) {
  25. setItem(count, player -> classType.getIcon(),
  26. (player, clickType) -> {
  27. switch (classType) {
  28. case MONK:
  29. player.playSound(player.getLocation(), Sound.ENTITY_ELDER_GUARDIAN_CURSE, 1, 1);
  30. break;
  31. case WIZARD:
  32. player.playSound(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1, 1);
  33. break;
  34. case CRUSADER:
  35. player.playSound(player.getLocation(), Sound.BLOCK_SHULKER_BOX_OPEN, 1, 1);
  36. break;
  37. case BARBARIAN:
  38. player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_PLACE, 1, 1);
  39. break;
  40. case NECROMANCER:
  41. player.playSound(player.getLocation(), Sound.ENTITY_ENDERDRAGON_GROWL, 1, 1);
  42. break;
  43. case DEMON_HUNTER:
  44. new BukkitRunnable() {
  45. int times = 3;
  46.  
  47. public void run() {
  48. player.playSound(player.getLocation(), Sound.ENTITY_ARROW_SHOOT, 1, 1);
  49. --times;
  50. if (times == 0)
  51. this.cancel();
  52. }
  53. }.runTaskTimer(Craftoblo.gi(), 0, 3);
  54. break;
  55. case WITCH_DOCTOR:
  56. player.playSound(player.getLocation(), Sound.ENTITY_WITCH_AMBIENT, 1, 1);
  57. break;
  58. default:
  59. player.sendMessage("ERROR!");
  60. player.closeInventory();
  61. break;
  62. }
  63. player.sendMessage(ChatColor.AQUA + "Your class was set to " + classType.getFullName(ChatColor.BOLD) + ChatColor.AQUA + ".");
  64. DataManager.getPlayerData(player.getUniqueId()).setPlayerClass(classType.toString());
  65. PlayerData data = DataManager.getPlayerData(player.getUniqueId());
  66. String playerClass = classType.toString();
  67. if (!DataManager.getPlayerData(player.getUniqueId()).getData()
  68. .contains(ClassType.valueOf(playerClass.toUpperCase()).name() + ".orb"))
  69. DataManager.getPlayerData(player.getUniqueId()).setOrb(100, ClassType.valueOf(playerClass.toUpperCase()));
  70.  
  71. PlayerInventory pinv = player.getInventory();
  72. pinv.clear();
  73. AbilityObject[] abilitys = data.getActionBar(data.getPlayerClassType());
  74. pinv.setHeldItemSlot(7);
  75. for (int i = 0; i < abilitys.length; i++) {
  76. pinv.setItem(i, abilitys[i].getItem(player));
  77. }
  78. player.closeInventory();
  79. SetupScorboard.set(player);
  80. CameraManager.getManager().detach(player);
  81. CameraManager.getManager().attach(player, 5, 5, 5);
  82. });
  83. count++;
  84. }
  85.  
  86.  
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement