github.com/df-mc/dragonfly@v0.9.13/server/block/copper_ore.go (about) 1 package block 2 3 import ( 4 "github.com/df-mc/dragonfly/server/item" 5 "math/rand" 6 ) 7 8 // CopperOre is a rare mineral block found underground. 9 type CopperOre struct { 10 solid 11 bassDrum 12 13 // Type is the type of copper ore. 14 Type OreType 15 } 16 17 // BreakInfo ... 18 func (c CopperOre) BreakInfo() BreakInfo { 19 return newBreakInfo(c.Type.Hardness(), func(t item.Tool) bool { 20 return t.ToolType() == item.TypePickaxe && t.HarvestLevel() >= item.ToolTierStone.HarvestLevel 21 }, pickaxeEffective, silkTouchDrop(item.NewStack(item.RawCopper{}, rand.Intn(4)+2), item.NewStack(c, 1))).withBlastResistance(9) 22 } 23 24 // SmeltInfo ... 25 func (CopperOre) SmeltInfo() item.SmeltInfo { 26 return newOreSmeltInfo(item.NewStack(item.CopperIngot{}, 1), 0.7) 27 } 28 29 // EncodeItem ... 30 func (c CopperOre) EncodeItem() (name string, meta int16) { 31 return "minecraft:" + c.Type.Prefix() + "copper_ore", 0 32 } 33 34 // EncodeBlock ... 35 func (c CopperOre) EncodeBlock() (string, map[string]any) { 36 return "minecraft:" + c.Type.Prefix() + "copper_ore", nil 37 }