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  }