Files

48 lines
1.3 KiB
Go
Raw Permalink Normal View History

2026-07-09 08:33:57 +08:00
package block
import (
"github.com/df-mc/dragonfly/server/item"
"github.com/df-mc/dragonfly/server/world"
)
// NetherBricks are blocks used to form nether fortresses in the Nether.
// Red Nether bricks, Cracked Nether bricks and Chiseled Nether bricks are decorative variants that do not naturally generate.
type NetherBricks struct {
solid
bassDrum
// NetherBricksType is the type of nether bricks of the block.
Type NetherBricksType
}
// BreakInfo ...
func (n NetherBricks) BreakInfo() BreakInfo {
return newBreakInfo(2, pickaxeHarvestable, pickaxeEffective, oneOf(n)).withBlastResistance(30)
}
// SmeltInfo ...
func (n NetherBricks) SmeltInfo() item.SmeltInfo {
if n.Type == NormalNetherBricks() {
return newSmeltInfo(item.NewStack(NetherBricks{Type: CrackedNetherBricks()}, 1), 0.1)
}
return item.SmeltInfo{}
}
// EncodeItem ...
func (n NetherBricks) EncodeItem() (id string, meta int16) {
return "minecraft:" + n.Type.String(), 0
}
// EncodeBlock ...
func (n NetherBricks) EncodeBlock() (name string, properties map[string]any) {
return "minecraft:" + n.Type.String(), nil
}
// allNetherBricks returns a list of all nether bricks variants.
func allNetherBricks() (netherBricks []world.Block) {
for _, t := range NetherBricksTypes() {
netherBricks = append(netherBricks, NetherBricks{Type: t})
}
return
}