See what arena player is currently in

Discussion in 'Plugin Development' started by XxZHALO13Xx, Dec 20, 2014.

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

    XxZHALO13Xx

    how would i make a method to see tehe name of the arena player is in?

    heres relevant info

    Code:java
    1. public class ArenaManager {
    2.  
    3. private static ArenaManager am = new ArenaManager();
    4.  
    5.  
    6. public static ArenaManager getManager() {
    7. return am;
    8. }
    9.  
    10.  
    11.  
    12. public Arena getArena(String name) {
    13. for (Arena a: Arena.arenaObjects) {
    14. if (a.getName().equals(name)) {
    15. return a;
    16. }
    17. }
    18. return null;
    19. }
    20.  
    21.  
    22.  
    23. public void addPlayers(Player player, String arenaName) {
    24.  
    25. if (getArena(arenaName) != null) {
    26.  
    27. Arena arena = getArena(arenaName);
    28.  
    29. if (!arena.isFull()) {
    30.  
    31. if (!arena.isInGame()) {
    32.  
    33. player.setFireTicks(0);
    34. player.getInventory().clear();
    35. player.setHealth(player.getMaxHealth());
    36. player.teleport(arena.getJoinLocation());
    37.  
    38. arena.getPlayers().add(player.getName());
    39.  
    40. int playersLeft = arena.getMaxPlayers() - arena.getPlayers().size();
    41.  
    42. arena.sendMessage(ChatColor.BLUE + player.getName() + " has joined the arena! We only need " + playersLeft + " to start the game!");
    43.  
    44.  
    45. if (playersLeft == 0) {
    46. startArena(arenaName);
    47. }
    48.  
    49.  
    50. } else {
    51. player.sendMessage(ChatColor.RED + "The arena you are looking for is currently full!");
    52.  
    53. }
    54. } else {
    55. player.sendMessage(ChatColor.RED + "The arena you are looking for is currently full!");
    56. }
    57.  
    58. } else {
    59. player.sendMessage(ChatColor.RED + "The arena you are looking for could not be found!");
    60. }
    61.  
    62. }
    63.  
    64.  
    65.  
    66. public void removePlayer(Player player, String arenaName) {
    67.  
    68. if (getArena(arenaName) != null) {
    69.  
    70. Arena arena = getArena(arenaName);
    71.  
    72. if (arena.getPlayers().contains(player.getName())) {
    73.  
    74. player.setFireTicks(0);
    75. player.getInventory().clear();
    76. player.setHealth(player.getMaxHealth());
    77. player.teleport(arena.getEndLocation());
    78.  
    79. arena.getPlayers().remove(player.getName());
    80.  
    81.  
    82. arena.sendMessage(ChatColor.BLUE + player.getName() + " has left the Arena! There are " + arena.getPlayers().size() + "players currently left!");
    83.  
    84.  
    85.  
    86.  
    87. } else {
    88. player.sendMessage(ChatColor.RED + "Your not in the arena your looking for!");
    89.  
    90. }
    91.  
    92.  
    93. } else {
    94. player.sendMessage(ChatColor.RED + "The arena you are looking for could not be found!");
    95. }
    96. }
    97.  
    98.  
    99. public void startArena(String arenaName) {
    100.  
    101. if (getArena(arenaName) != null) {
    102.  
    103. Arena arena = getArena(arenaName);
    104.  
    105. arena.sendMessage(ChatColor.GOLD + "The arena has BEGUN!");
    106.  
    107. arena.setInGame(true);
    108.  
    109. for (String s: arena.getPlayers()) {
    110.  
    111. Bukkit.getPlayer(s).teleport(arena.getStartLocation());
    112.  
    113. }
    114.  
    115.  
    116. }
    117.  
    118. }
    119.  
    120.  
    121.  
    122. public void endArena(String arenaName) {
    123.  
    124. if (getArena(arenaName) != null) {
    125.  
    126. Arena arena = getArena(arenaName);
    127.  
    128. arena.sendMessage(ChatColor.GOLD + "The arena has ended :(");
    129.  
    130. arena.setInGame(false);
    131.  
    132. for (String s: arena.getPlayers()) {
    133.  
    134.  
    135. Player player = Bukkit.getPlayer(s);
    136. player.teleport(arena.getEndLocation());
    137.  
    138. player.getInventory().clear();
    139. player.setHealth(player.getMaxHealth());
    140. player.setFireTicks(0);
    141.  
    142. arena.getPlayers().remove(player.getName());
    143.  
    144. }
    145.  
    146.  
    147. }
    148. }
    149.  
     
  2. Offline

    teej107

    Using Maps.
    Code:
    Map<Player, Arena>
     
    leon3001 likes this.
Thread Status:
Not open for further replies.

Share This Page