recipe

package
v0.0.0-...-1e02c65 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(recipe Recipe)

Register registers a new recipe.

Types

type Recipe

type Recipe interface {
	// Input returns the items required to craft the recipe.
	Input() []item.Stack
	// Output returns the items that are produced when the recipe is crafted.
	Output() []item.Stack
	// Block returns the block that is used to craft the recipe.
	Block() world.Block
	// Priority returns the priority of the recipe. Recipes with lower priority are preferred compared to recipes with
	// higher priority.
	Priority() uint32
}

Recipe is implemented by all recipe types.

func Recipes

func Recipes() []Recipe

Recipes returns each recipe in a slice.

type Shape

type Shape [2]int

Shape make up the shape of a shaped recipe. It consists of a width and a height.

func NewShape

func NewShape(width, height int) Shape

NewShape creates a new shape using the provided width and height.

func (Shape) Height

func (s Shape) Height() int

Height returns the height of the shape.

func (Shape) Width

func (s Shape) Width() int

Width returns the width of the shape.

type Shaped

type Shaped struct {
	// contains filtered or unexported fields
}

Shaped is a recipe that has a specific shape that must be used to craft the output of the recipe.

func NewShaped

func NewShaped(input []item.Stack, output item.Stack, block world.Block, shape Shape) Shaped

NewShaped creates a new shaped recipe and returns it. The recipe can only be crafted on the block passed in the parameters. If the block given a crafting table, the recipe can also be crafted in the 2x2 crafting grid in the player's inventory. If nil is passed, the block will be autofilled as a crafting table. The inputs must always match the width*height of the shape.

func (Shaped) Block

func (r Shaped) Block() world.Block

Block ...

func (Shaped) Input

func (r Shaped) Input() []item.Stack

Input ...

func (Shaped) Output

func (r Shaped) Output() []item.Stack

Output ...

func (Shaped) Priority

func (r Shaped) Priority() uint32

Priority ...

func (Shaped) Shape

func (r Shaped) Shape() Shape

Shape returns the shape of the recipe.

type Shapeless

type Shapeless struct {
	// contains filtered or unexported fields
}

Shapeless is a recipe that has no particular shape.

func NewShapeless

func NewShapeless(input []item.Stack, output item.Stack, block world.Block) Shapeless

NewShapeless creates a new shapeless recipe and returns it. The recipe can only be crafted on the block passed in the parameters. If the block given a crafting table, the recipe can also be crafted in the 2x2 crafting grid in the player's inventory. If nil is passed, the block will be autofilled as a crafting table.

func (Shapeless) Block

func (r Shapeless) Block() world.Block

Block ...

func (Shapeless) Input

func (r Shapeless) Input() []item.Stack

Input ...

func (Shapeless) Output

func (r Shapeless) Output() []item.Stack

Output ...

func (Shapeless) Priority

func (r Shapeless) Priority() uint32

Priority ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL