]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/VillageColorCache.java
Fix server-only issues
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / common / VillageColorCache.java
1 package com.irtimaled.bbor.common;
2
3 import java.awt.*;
4 import java.util.HashMap;
5 import java.util.Map;
6
7 public class VillageColorCache {
8     private static int colorIndex = -1;
9
10     public static void clear() {
11         colorIndex = -1;
12         villageColorCache.clear();
13     }
14
15     private static Color getNextColor() {
16         switch (++colorIndex % 6) {
17             case 0:
18                 return Color.RED;
19             case 1:
20                 return Color.GREEN;
21             case 2:
22                 return Color.BLUE;
23             case 3:
24                 return Color.MAGENTA;
25             case 4:
26                 return Color.YELLOW;
27             case 5:
28                 return Color.CYAN;
29         }
30         return Color.WHITE;
31     }
32
33     private static final Map<Integer, Color> villageColorCache = new HashMap<>();
34
35     public static Color getColor(int villageId) {
36         return villageColorCache.computeIfAbsent(villageId, k -> getNextColor());
37     }
38 }