github.com/df-mc/dragonfly@v0.9.13/server/block/stone_bricks_type.go (about) 1 package block 2 3 // StoneBricksType represents a type of stone bricks. 4 type StoneBricksType struct { 5 stoneBricks 6 } 7 8 type stoneBricks uint8 9 10 // NormalStoneBricks is the normal variant of stone bricks. 11 func NormalStoneBricks() StoneBricksType { 12 return StoneBricksType{0} 13 } 14 15 // MossyStoneBricks is the mossy variant of stone bricks. 16 func MossyStoneBricks() StoneBricksType { 17 return StoneBricksType{1} 18 } 19 20 // CrackedStoneBricks is the cracked variant of stone bricks. 21 func CrackedStoneBricks() StoneBricksType { 22 return StoneBricksType{2} 23 } 24 25 // ChiseledStoneBricks is the chiseled variant of stone bricks. 26 func ChiseledStoneBricks() StoneBricksType { 27 return StoneBricksType{3} 28 } 29 30 // Uint8 returns the stone bricks as a uint8. 31 func (s stoneBricks) Uint8() uint8 { 32 return uint8(s) 33 } 34 35 // Name ... 36 func (s stoneBricks) Name() string { 37 switch s { 38 case 0: 39 return "Stone Bricks" 40 case 1: 41 return "Mossy Stone Bricks" 42 case 2: 43 return "Cracked Stone Bricks" 44 case 3: 45 return "Chiseled Stone Bricks" 46 } 47 panic("unknown stone bricks type") 48 } 49 50 // String ... 51 func (s stoneBricks) String() string { 52 switch s { 53 case 0: 54 return "default" 55 case 1: 56 return "mossy" 57 case 2: 58 return "cracked" 59 case 3: 60 return "chiseled" 61 } 62 panic("unknown stone bricks type") 63 } 64 65 // StoneBricksTypes ... 66 func StoneBricksTypes() []StoneBricksType { 67 return []StoneBricksType{NormalStoneBricks(), MossyStoneBricks(), CrackedStoneBricks(), ChiseledStoneBricks()} 68 }