Solved How can I add these players to a list in a yml file?

Discussion in 'Plugin Help/Development/Requests' started by football70500, Apr 17, 2015.

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

    football70500

    So, I want to make it so that when a player is added to the mod/admin list with /addadmin or /addmod, it adds their name to a place in the config that Looks like:
    Code:
    Mods:
       - [Name]
       - [Name]
    Admins:
       - [Name]
    
    Etc.
    I know i can do it w/ fileconfiguration but I am very new to that part of bukkit and I can't really comprehend. Can someone help me out here?
    Code:java
    1.  
    2. public class ModList extends JavaPlugin implements Listener {
    3.  
    4. public ArrayList<String> admins = new ArrayList<String>();
    5. public ArrayList<String> mods = new ArrayList<String>();
    6. public ArrayList<String> adminsperm = new ArrayList<String>();
    7. public ArrayList<String> modsperm = new ArrayList<String>();
    8.  
    9. @Override
    10. public void onEnable() {
    11. getLogger().info("ModList has been enabled!");
    12. getServer().getPluginManager().registerEvents(this, this);
    13.  
    14. }
    15.  
    16. @Override
    17. public void onDisable() {
    18. getLogger().info("ModList has been disabled!");
    19. }
    20.  
    21. @EventHandler
    22. public void onJoin(PlayerJoinEvent e) {
    23. if (e.getPlayer().hasPermission("admins.add")) {
    24. admins.add(e.getPlayer().getName());
    25. Bukkit.broadcastMessage(ChatColor.GREEN
    26. + "A Staff member has joined the game!");
    27. }
    28. if (e.getPlayer().hasPermission("mods.add")) {
    29. mods.add(e.getPlayer().getName());
    30. Bukkit.broadcastMessage(ChatColor.GREEN
    31. + "A Staff member has joined the game!");
    32. }
    33. /*
    34.   * if(e.getPlayer().hasPermission("permlist.admins.add")){
    35.   * adminsperm.add(e.getPlayer().getName()); }
    36.   * if(e.getPlayer().hasPermission("permlist.mods.add")){
    37.   * modsperm.add(e.getPlayer().getName()); }
    38.   */
    39. }
    40.  
    41. @EventHandler
    42. public void onLeave(PlayerQuitEvent e) {
    43. if (admins.contains(e.getPlayer().getName())) {
    44. admins.remove(e.getPlayer().getName());
    45. Bukkit.broadcastMessage(ChatColor.RED
    46. + "A Staff member has left the game!");
    47. }
    48. if (mods.contains(e.getPlayer().getName())) {
    49. mods.remove(e.getPlayer().getName());
    50. Bukkit.broadcastMessage(ChatColor.RED
    51. + "A Staff member has left the game!");
    52. }
    53. }
    54.  
    55. public boolean onCommand(CommandSender sender, Command cmd, String label,
    56. String[] args) {
    57.  
    58. if (cmd.getName().equalsIgnoreCase("staff")) {
    59. // List<String> admins = new ArrayList<>();
    60. // List<String> mods = new ArrayList<>();
    61. /*
    62.   * for (Player player : getServer().getOnlinePlayers()) { String
    63.   * name = player.getName(); if (admins.contains(name)) {
    64.   * admins.add(name); }else if(mods.contains(name)){ mods.add(name);
    65.   * } }
    66.   */
    67. if (admins.size() < 0 && mods.size() < 0) {
    68. sender.sendMessage(ChatColor.YELLOW
    69. + "No staff is currently online!");
    70. } else {
    71. sender.sendMessage(ChatColor.AQUA + "Admins Online:");
    72. for (String adminsName : admins) {
    73. if (admins.size() < 0) {
    74. sender.sendMessage(ChatColor.YELLOW
    75. + "No admins are currently online.");
    76. } else if (admins.size() > 0) {
    77. sender.sendMessage(ChatColor.AQUA + "• "
    78. + ChatColor.YELLOW + adminsName);
    79. }
    80. }
    81. sender.sendMessage(ChatColor.AQUA + "Mods Online:");
    82. for (String modsName : mods) {
    83. if (mods.size() < 0) {
    84. sender.sendMessage(ChatColor.YELLOW
    85. + "No mods are currently online.");
    86. } else if (mods.size() > 0) {
    87. sender.sendMessage(ChatColor.AQUA + "• "
    88. + ChatColor.YELLOW + modsName);
    89. }
    90. }
    91. }
    92.  
    93. }
    94.  
    95. /*if (cmd.getName().equalsIgnoreCase("addadmin")) {
    96.   Player target = Bukkit.getServer().getPlayer(args[0]);
    97.   if (sender.hasPermission("smelly.smells")) {
    98.   if (args.length == 1) {
    99.   if (sender instanceof Player) {
    100.   if (target != null) {
    101.   if (adminsperm.contains(target.getName())) {
    102.   adminsperm.add(target.getName());
    103.   sender.sendMessage(ChatColor.GREEN
    104.   + target.getName()
    105.   + " has been added to the Admin list!");
    106.   }
    107.   }
    108.   }
    109.   }
    110.   }
    111.   }
    112.   */
    113.  
    114. if (cmd.getName().equalsIgnoreCase("addadmin")) {
    115. Player target = Bukkit.getServer().getPlayer(args[0]);
    116. if (sender.hasPermission("smelly.smells")) {
    117. if (args.length != 0) {
    118. if (args.length == 1) {
    119. if (sender instanceof Player) {
    120. if (target != null) {
    121. if (!adminsperm.contains(target.getName())) {
    122. adminsperm.add(target.getName());
    123. sender.sendMessage(ChatColor.GREEN
    124. + target.getName()
    125. + " has been added to the Admin list!");
    126. } else {
    127. sender.sendMessage(ChatColor.RED
    128. + target.getName()
    129. + " is alredy on the Admin list!");
    130. }
    131. } else {
    132. sender.sendMessage(ChatColor.RED
    133. + "Your target must be online in order to add them to the Admin list!");
    134. }
    135. }
    136. } else {
    137. sender.sendMessage(ChatColor.RED + "/AddAdmin <Name>");
    138. }
    139. } else {
    140. sender.sendMessage(ChatColor.RED + "No Permission!");
    141. }
    142. } else {
    143. sender.sendMessage(ChatColor.RED + "/AddAdmin <Name>");
    144. }
    145. }
    146.  
    147.  
    148. if (cmd.getName().equalsIgnoreCase("addmod")) {
    149. Player target = Bukkit.getServer().getPlayer(args[0]);
    150. if (sender.hasPermission("smelly.smells")) {
    151. if (args.length != 0) {
    152. if (args.length == 1) {
    153. if (sender instanceof Player) {
    154. if (target != null) {
    155. if (!modsperm.contains(target.getName())) {
    156. modsperm.add(target.getName());
    157. sender.sendMessage(ChatColor.GREEN
    158. + target.getName()
    159. + " has been added to the Mod list!");
    160. } else {
    161. sender.sendMessage(ChatColor.RED
    162. + target.getName()
    163. + " is alredy on the Mod list!");
    164. }
    165. } else {
    166. sender.sendMessage(ChatColor.RED
    167. + "Your target must be online in order to add them to the mod list!");
    168. }
    169. }
    170. } else {
    171. sender.sendMessage(ChatColor.RED + "/Addmod <Name>");
    172. }
    173. } else {
    174. sender.sendMessage(ChatColor.RED + "No Permission!");
    175. }
    176. } else {
    177. sender.sendMessage(ChatColor.RED + "/Addmod <Name>");
    178. }
    179. }
    180.  
    181. if (cmd.getName().equalsIgnoreCase("removeadmin")) {
    182. Player target = Bukkit.getServer().getPlayer(args[0]);
    183. if (sender.hasPermission("smelly.smells")) {
    184. if (args.length == 1) {
    185. if (sender instanceof Player) {
    186. if (target != null) {
    187. if (adminsperm.contains(target.getName())) {
    188. adminsperm.remove(target.getName());
    189. sender.sendMessage(ChatColor.RED
    190. + target.getName()
    191. + " has been removed from the Admin list!");
    192. }
    193. }
    194. }
    195. }
    196. }
    197. }
    198.  
    199. if (cmd.getName().equalsIgnoreCase("removemod")) {
    200. Player target = Bukkit.getServer().getPlayer(args[0]);
    201. if (sender.hasPermission("smelly.smells")) {
    202. if (args.length == 1) {
    203. if (sender instanceof Player) {
    204. if (target != null) {
    205. if (modsperm.contains(target.getName())) {
    206. modsperm.remove(target.getName());
    207. sender.sendMessage(ChatColor.RED
    208. + target.getName()
    209. + " has been removed from the Mod list!");
    210. }
    211. }
    212. }
    213. }
    214. }
    215. }
    216.  
    217. /*
    218.   * if (cmd.getName().equalsIgnoreCase("listadmin")) { if
    219.   * (sender.hasPermission("set.admin")) { target =
    220.   * Bukkit.getServer().getPlayer(args[1]); if (args.length > 0) { if
    221.   * (sender instanceof Player) { if (target != null) {
    222.   * adminsperm.add(target.getName()); sender.sendMessage(ChatColor.GREEN
    223.   * + target.getName() + " has been added to the Admin list!");
    224.   * target.sendMessage(ChatColor.YELLOW +
    225.   * "You have been added to the Admin list!"); } } try { target =
    226.   * Bukkit.getServer().getPlayer(args[1]); } catch (Exception ex) {
    227.   * sender.sendMessage("Invalid target"); } } } } if
    228.   * (cmd.getName().equalsIgnoreCase("listmod")) { if
    229.   * (sender.hasPermission("set.mod")) { target =
    230.   * Bukkit.getServer().getPlayer(args[1]); if (args.length > 0) { if
    231.   * (sender instanceof Player) { if (target != null) {
    232.   * modsperm.add(target.getName()); sender.sendMessage(ChatColor.GREEN +
    233.   * target.getName() + " has been added to the Mod list!");
    234.   * target.sendMessage(ChatColor.YELLOW +
    235.   * "You have been added to the Mod list!"); } } } }
    236.   */
    237. if (cmd.getName().equalsIgnoreCase("stafflist")) {
    238.  
    239. if (args.length == 0) {
    240. if (adminsperm.size() == 0 && modsperm.size() == 0) {
    241. sender.sendMessage(ChatColor.YELLOW
    242. + "There is no staff for this server!");
    243. } else {
    244. sender.sendMessage(ChatColor.AQUA + "Admins:");
    245. for (String adminsName : adminsperm) {
    246. if (adminsperm.size() == 0) {
    247. sender.sendMessage(ChatColor.YELLOW
    248. + "There are no admins for this server!");
    249. } else if (adminsperm.size() > 0) {
    250. sender.sendMessage(ChatColor.AQUA + "• "
    251. + ChatColor.YELLOW + adminsName);
    252. }
    253. }
    254. sender.sendMessage(ChatColor.AQUA + "Mods:");
    255. for (String modsName : modsperm) {
    256. if (modsperm.size() == 0) {
    257. sender.sendMessage(ChatColor.YELLOW
    258. + "There are no mods for this server!");
    259. } else if (modsperm.size() > 0) {
    260. sender.sendMessage(ChatColor.AQUA + "• "
    261. + ChatColor.YELLOW + modsName);
    262. }
    263. }
    264. }
    265. }
    266. }
    267. // }
    268. return true;
    269. }
    270. }
    271.  

    I know I have to create the config file, I just don't know how to make it so that the config looks like how i want it to.
     
  2. Offline

    nverdier

    @football70500 FileConfiguration#set(String path, Object value) and just have the value be a List<String>.
     
  3. Offline

    football70500

    Seems easy enough! i'll try it later and get back to ya. Thanks
     
  4. Offline

    nverdier

    But it won't look like
    Code:
     Mods:
      - [Name]
      - [Name]
    Admins:
      - [Name]
      - [Name]
    It will look like
    Code:
    Mods: 
    - [Name]
    - [Name]
    Admins:
    - [Name]
    - [Name]
     
  5. Offline

    football70500

    thats fine thanks :D
     
  6. Offline

    nverdier

Thread Status:
Not open for further replies.

Share This Page