forked from df-mc/dragonfly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
banner_pattern_type_register.go
74 lines (69 loc) · 3.09 KB
/
banner_pattern_type_register.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package block
var (
bannerPatternsMap = map[string]BannerPatternType{}
bannerPatternIDs = map[BannerPatternType]string{}
)
// init initializes all default banner patterns to the registry.
func init() {
registerBannerPattern("bo", BorderBannerPattern())
registerBannerPattern("bri", BricksBannerPattern())
registerBannerPattern("mc", CircleBannerPattern())
registerBannerPattern("cre", CreeperBannerPattern())
registerBannerPattern("cr", CrossBannerPattern())
registerBannerPattern("cbo", CurlyBorderBannerPattern())
registerBannerPattern("lud", DiagonalLeftBannerPattern())
registerBannerPattern("rd", DiagonalRightBannerPattern())
registerBannerPattern("ld", DiagonalUpLeftBannerPattern())
registerBannerPattern("rud", DiagonalUpRightBannerPattern())
registerBannerPattern("flo", FlowerBannerPattern())
registerBannerPattern("gra", GradientBannerPattern())
registerBannerPattern("gru", GradientUpBannerPattern())
registerBannerPattern("hh", HalfHorizontalBannerPattern())
registerBannerPattern("hhb", HalfHorizontalBottomBannerPattern())
registerBannerPattern("vh", HalfVerticalBannerPattern())
registerBannerPattern("vhr", HalfVerticalRightBannerPattern())
registerBannerPattern("moj", MojangBannerPattern())
registerBannerPattern("mr", RhombusBannerPattern())
registerBannerPattern("sku", SkullBannerPattern())
registerBannerPattern("ss", SmallStripesBannerPattern())
registerBannerPattern("bl", SquareBottomLeftBannerPattern())
registerBannerPattern("br", SquareBottomRightBannerPattern())
registerBannerPattern("tl", SquareTopLeftBannerPattern())
registerBannerPattern("tr", SquareTopRightBannerPattern())
registerBannerPattern("sc", StraightCrossBannerPattern())
registerBannerPattern("bs", StripeBottomBannerPattern())
registerBannerPattern("cs", StripeCenterBannerPattern())
registerBannerPattern("dls", StripeDownLeftBannerPattern())
registerBannerPattern("drs", StripeDownRightBannerPattern())
registerBannerPattern("ls", StripeLeftBannerPattern())
registerBannerPattern("ms", StripeMiddleBannerPattern())
registerBannerPattern("rs", StripeRightBannerPattern())
registerBannerPattern("ts", StripeTopBannerPattern())
registerBannerPattern("bt", TriangleBottomBannerPattern())
registerBannerPattern("tt", TriangleTopBannerPattern())
registerBannerPattern("bts", TrianglesBottomBannerPattern())
registerBannerPattern("tts", TrianglesTopBannerPattern())
registerBannerPattern("glb", GlobeBannerPattern())
registerBannerPattern("pig", PiglinBannerPattern())
}
// registerBannerPattern registers a banner pattern with the ID passed.
func registerBannerPattern(id string, pattern BannerPatternType) {
bannerPatternsMap[id] = pattern
bannerPatternIDs[pattern] = id
}
// BannerPatternByID returns a banner pattern by the ID it was registered with.
func BannerPatternByID(id string) BannerPatternType {
b, ok := bannerPatternsMap[id]
if !ok {
panic("should never happen")
}
return b
}
// bannerPatternID returns the ID a banner pattern was registered with.
func bannerPatternID(pattern BannerPatternType) string {
id, ok := bannerPatternIDs[pattern]
if !ok {
panic("should never happen")
}
return id
}