Files
TarnaWijaya 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
up3
2026-07-09 08:33:57 +08:00

24 lines
649 B
Go

package model
import (
"github.com/df-mc/dragonfly/server/block/cube"
"github.com/df-mc/dragonfly/server/world"
)
// Hopper is a model used by hoppers.
type Hopper struct{}
// BBox returns a physics.BBox that spans a full block.
func (h Hopper) BBox(cube.Pos, world.BlockSource) []cube.BBox {
bbox := []cube.BBox{full.ExtendTowards(cube.FaceUp, -0.375)}
for _, f := range cube.HorizontalFaces() {
bbox = append(bbox, full.ExtendTowards(f, -0.875))
}
return bbox
}
// FaceSolid only returns true for the top face of the hopper.
func (Hopper) FaceSolid(_ cube.Pos, face cube.Face, _ world.BlockSource) bool {
return face == cube.FaceUp
}