up3
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
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
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package world
|
||||
|
||||
import (
|
||||
"github.com/df-mc/dragonfly/server/block/cube"
|
||||
)
|
||||
|
||||
// BlockModel represents the model of a block. These models specify the ways a block can be collided with and
|
||||
// whether specific faces are solid wrt. being able to, for example, place torches onto those sides.
|
||||
type BlockModel interface {
|
||||
// BBox returns the bounding boxes that a block with this model can be collided with.
|
||||
BBox(pos cube.Pos, s BlockSource) []cube.BBox
|
||||
// FaceSolid checks if a specific face of a block at the position in a world passed is solid. Blocks may
|
||||
// be attached to these faces.
|
||||
FaceSolid(pos cube.Pos, face cube.Face, s BlockSource) bool
|
||||
}
|
||||
|
||||
// unknownModel is the model used for unknown blocks. It is the equivalent of a fully solid model.
|
||||
type unknownModel struct{}
|
||||
|
||||
// BBox ...
|
||||
func (u unknownModel) BBox(cube.Pos, BlockSource) []cube.BBox {
|
||||
return []cube.BBox{cube.Box(0, 0, 0, 1, 1, 1)}
|
||||
}
|
||||
|
||||
// FaceSolid ...
|
||||
func (u unknownModel) FaceSolid(cube.Pos, cube.Face, BlockSource) bool {
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user