github.com/df-mc/dragonfly@v0.9.13/server/block/grindstone_attachment.go (about) 1 package block 2 3 // GrindstoneAttachment represents a type of attachment for a Grindstone. 4 type GrindstoneAttachment struct { 5 grindstoneAttachment 6 } 7 8 // StandingGrindstoneAttachment is a type of attachment for a standing Grindstone. 9 func StandingGrindstoneAttachment() GrindstoneAttachment { 10 return GrindstoneAttachment{0} 11 } 12 13 // HangingGrindstoneAttachment is a type of attachment for a hanging Grindstone. 14 func HangingGrindstoneAttachment() GrindstoneAttachment { 15 return GrindstoneAttachment{1} 16 } 17 18 // WallGrindstoneAttachment is a type of attachment for a wall Grindstone. 19 func WallGrindstoneAttachment() GrindstoneAttachment { 20 return GrindstoneAttachment{2} 21 } 22 23 // GrindstoneAttachments returns all possible GrindstoneAttachments. 24 func GrindstoneAttachments() []GrindstoneAttachment { 25 return []GrindstoneAttachment{StandingGrindstoneAttachment(), HangingGrindstoneAttachment(), WallGrindstoneAttachment()} 26 } 27 28 type grindstoneAttachment uint8 29 30 // Uint8 returns the GrindstoneAttachment as a uint8. 31 func (g grindstoneAttachment) Uint8() uint8 { 32 return uint8(g) 33 } 34 35 // String returns the GrindstoneAttachment as a string. 36 func (g grindstoneAttachment) String() string { 37 switch g { 38 case 0: 39 return "standing" 40 case 1: 41 return "hanging" 42 case 2: 43 return "side" 44 } 45 panic("should never happen") 46 }