Guest User

Untitled

a guest
Nov 6th, 2021
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.64 KB | None | 0 0
  1. package net.reikeb.maxicity.datas;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Collections;
  5. import java.util.List;
  6. import java.util.Random;
  7.  
  8. public enum Group {
  9.  
  10.     TEAM_ONE(0, "team_one"),
  11.     TEAM_TWO(1, "team_two"),
  12.     TEAM_THREE(2, "team_three"),
  13.     TEAM_FOUR(3, "team_four"),
  14.     MODERATOR(4, "moderator"),
  15.     ADMIN(5, "admin");
  16.  
  17.     private final int id;
  18.     private final String name;
  19.  
  20.     private static final List<Group> VALUES = Collections.unmodifiableList(Arrays.asList(values()));
  21.     private static final int SIZE = VALUES.size();
  22.     private static final Random RANDOM = new Random();
  23.  
  24.     Group(int id, String name) {
  25.         this.id = id;
  26.         this.name = name;
  27.     }
  28.  
  29.     public int getId() {
  30.         return this.id;
  31.     }
  32.  
  33.     public String getName() {
  34.         return this.name;
  35.     }
  36.  
  37.     public static Group randomTeam() {
  38.         return VALUES.get(RANDOM.nextInt(SIZE));
  39.     }
  40.  
  41.     public static String randomTeamId() {
  42.         return byId(randomTeam());
  43.     }
  44.  
  45.     public static Group byName(String name) {
  46.         return byName(name, TEAM_ONE);
  47.     }
  48.  
  49.     public static Group byName(String name, Group group) {
  50.         for (Group team : values()) {
  51.             if (team.name.equals(name)) {
  52.                 return team;
  53.             }
  54.         }
  55.         return group;
  56.     }
  57.  
  58.     public static String byId(Group group) {
  59.         return byId(group, "team_one");
  60.     }
  61.  
  62.     public static String byId(Group group, String id) {
  63.         for (Group team : values()) {
  64.             if (team.equals(group)) {
  65.                 return team.name;
  66.             }
  67.         }
  68.         return id;
  69.     }
  70. }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment