26ed99fda6
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
46 lines
1.1 KiB
Go
46 lines
1.1 KiB
Go
package block
|
|
|
|
import (
|
|
"github.com/df-mc/dragonfly/server/item"
|
|
)
|
|
|
|
// Obsidian is a dark purple block known for its high blast resistance and strength, most commonly found when
|
|
// water flows over lava.
|
|
type Obsidian struct {
|
|
solid
|
|
bassDrum
|
|
// Crying specifies if the block is a crying obsidian block. If true, the block is blue and emits light.
|
|
Crying bool
|
|
}
|
|
|
|
// LightEmissionLevel ...
|
|
func (o Obsidian) LightEmissionLevel() uint8 {
|
|
if o.Crying {
|
|
return 10
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// EncodeItem ...
|
|
func (o Obsidian) EncodeItem() (name string, meta int16) {
|
|
if o.Crying {
|
|
return "minecraft:crying_obsidian", 0
|
|
}
|
|
return "minecraft:obsidian", 0
|
|
}
|
|
|
|
// EncodeBlock ...
|
|
func (o Obsidian) EncodeBlock() (string, map[string]any) {
|
|
if o.Crying {
|
|
return "minecraft:crying_obsidian", nil
|
|
}
|
|
return "minecraft:obsidian", nil
|
|
}
|
|
|
|
// BreakInfo ...
|
|
func (o Obsidian) BreakInfo() BreakInfo {
|
|
return newBreakInfo(35, func(t item.Tool) bool {
|
|
return t.ToolType() == item.TypePickaxe && t.HarvestLevel() >= item.ToolTierDiamond.HarvestLevel
|
|
}, pickaxeEffective, oneOf(o)).withBlastResistance(6000)
|
|
}
|