github.com/df-mc/dragonfly@v0.9.13/server/block/deepslate_type.go (about) 1 package block 2 3 // DeepslateType represents a type of deepslate. 4 type DeepslateType struct { 5 deepslate 6 } 7 8 type deepslate uint8 9 10 // NormalDeepslate is the normal variant of deepslate. 11 func NormalDeepslate() DeepslateType { 12 return DeepslateType{0} 13 } 14 15 // CobbledDeepslate is the cobbled variant of deepslate. 16 func CobbledDeepslate() DeepslateType { 17 return DeepslateType{1} 18 } 19 20 // PolishedDeepslate is the polished variant of deepslate. 21 func PolishedDeepslate() DeepslateType { 22 return DeepslateType{2} 23 } 24 25 // ChiseledDeepslate is the chiseled variant of deepslate. 26 func ChiseledDeepslate() DeepslateType { 27 return DeepslateType{3} 28 } 29 30 // Uint8 returns the deepslate type as a uint8. 31 func (s deepslate) Uint8() uint8 { 32 return uint8(s) 33 } 34 35 // Name ... 36 func (s deepslate) Name() string { 37 switch s { 38 case 0: 39 return "Deepslate" 40 case 1: 41 return "Cobbled Deepslate" 42 case 2: 43 return "Polished Deepslate" 44 case 3: 45 return "Chiseled Deepslate" 46 } 47 panic("unknown deepslate type") 48 } 49 50 // String ... 51 func (s deepslate) String() string { 52 switch s { 53 case 0: 54 return "deepslate" 55 case 1: 56 return "cobbled_deepslate" 57 case 2: 58 return "polished_deepslate" 59 case 3: 60 return "chiseled_deepslate" 61 } 62 panic("unknown deepslate type") 63 } 64 65 // DeepslateTypes ... 66 func DeepslateTypes() []DeepslateType { 67 return []DeepslateType{NormalDeepslate(), CobbledDeepslate(), PolishedDeepslate(), ChiseledDeepslate()} 68 }