github.com/df-mc/dragonfly@v0.9.13/server/block/prismarine.go (about) 1 package block 2 3 import ( 4 "github.com/df-mc/dragonfly/server/world" 5 ) 6 7 // Prismarine is a type of stone that appears underwater in ruins and ocean monuments. 8 type Prismarine struct { 9 solid 10 bassDrum 11 12 // Type is the type of prismarine of the block. 13 Type PrismarineType 14 } 15 16 // BreakInfo ... 17 func (p Prismarine) BreakInfo() BreakInfo { 18 return newBreakInfo(1.5, pickaxeHarvestable, pickaxeEffective, oneOf(p)).withBlastResistance(30) 19 } 20 21 // EncodeItem ... 22 func (p Prismarine) EncodeItem() (id string, meta int16) { 23 return "minecraft:prismarine", int16(p.Type.Uint8()) 24 } 25 26 // EncodeBlock ... 27 func (p Prismarine) EncodeBlock() (name string, properties map[string]any) { 28 return "minecraft:prismarine", map[string]any{"prismarine_block_type": p.Type.String()} 29 } 30 31 // allPrismarine returns a list of all prismarine block variants. 32 func allPrismarine() (c []world.Block) { 33 for _, t := range PrismarineTypes() { 34 c = append(c, Prismarine{Type: t}) 35 } 36 return 37 }