block

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2022 License: MIT Imports: 24 Imported by: 42

Documentation

Overview

Package block exports implementations of the Block interface found in the server/world package. The blocks implemented in this package are automatically registered in the server/world package using the world.RegisterBlock and world.RegisterItem functions through an init function, so that methods in server/world that return blocks and items are able to return them by the respective types implemented here.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BreakDuration

func BreakDuration(b world.Block, i item.Stack) time.Duration

BreakDuration returns the base duration that breaking the block passed takes when being broken using the item passed.

func BreaksInstantly

func BreaksInstantly(b world.Block, i item.Stack) bool

BreaksInstantly checks if the block passed can be broken instantly using the item stack passed to break it.

Types

type Activatable

type Activatable interface {
	// Activate activates the block at a specific block position. The face clicked is passed, as well as the
	// world in which the block was activated and the viewer that activated it.
	// Activate returns a bool indicating if activating the block was used successfully.
	Activate(pos cube.Pos, clickedFace cube.Face, w *world.World, u item.User) bool
}

Activatable represents a block that may be activated by a viewer of the world. When activated, the block will execute some specific logic.

type Air

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

Air is the block present in otherwise empty space.

func (Air) EncodeBlock

func (Air) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Air) EncodeItem

func (Air) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Air) HasLiquidDrops

func (Air) HasLiquidDrops() bool

HasLiquidDrops ...

func (Air) Hash

func (Air) Hash() uint64

func (Air) LightDiffusionLevel

func (Air) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Air) Model

func (Air) Model() world.BlockModel

Model ...

func (Air) ReplaceableBy

func (Air) ReplaceableBy(world.Block) bool

ReplaceableBy ...

type AmethystBlock added in v0.2.0

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

AmethystBlock is a decorative block crafted from four amethyst shards.

func (AmethystBlock) BreakInfo added in v0.2.0

func (a AmethystBlock) BreakInfo() BreakInfo

BreakInfo ...

func (AmethystBlock) EncodeBlock added in v0.2.0

func (AmethystBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (AmethystBlock) EncodeItem added in v0.2.0

func (AmethystBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (AmethystBlock) Hash added in v0.2.0

func (AmethystBlock) Hash() uint64

func (AmethystBlock) Model added in v0.2.0

func (AmethystBlock) Model() world.BlockModel

Model ...

type AncientDebris

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

AncientDebris is a rare ore found within The Nether.

func (AncientDebris) BreakInfo

func (a AncientDebris) BreakInfo() BreakInfo

BreakInfo ...

func (AncientDebris) EncodeBlock

func (AncientDebris) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (AncientDebris) EncodeItem

func (AncientDebris) EncodeItem() (name string, meta int16)

EncodeItem ...

func (AncientDebris) Hash

func (AncientDebris) Hash() uint64

func (AncientDebris) Model

func (AncientDebris) Model() world.BlockModel

Model ...

type Andesite

type Andesite polishable

Andesite is a type of igneous rock.

func (Andesite) BreakInfo

func (a Andesite) BreakInfo() BreakInfo

BreakInfo ...

func (Andesite) EncodeBlock

func (a Andesite) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Andesite) EncodeItem

func (a Andesite) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Andesite) Hash

func (a Andesite) Hash() uint64

type Attachment added in v0.2.0

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

Attachment describes the attachment of a block to another block. It is either of the type WallAttachment, which can only have 90 degree facing values, or StandingAttachment, which has more freedom using a cube.Orientation.

func StandingAttachment added in v0.2.0

func StandingAttachment(o cube.Orientation) Attachment

StandingAttachment returns an Attachment to the ground with an orientation.

func WallAttachment added in v0.2.0

func WallAttachment(facing cube.Direction) Attachment

WallAttachment returns an Attachment to a wall with a facing direction.

func (Attachment) FaceUint8 added in v0.6.0

func (a Attachment) FaceUint8() uint8

FaceUint8 returns the facing of the Attachment as a uint8.

func (Attachment) RotateLeft added in v0.2.0

func (a Attachment) RotateLeft() Attachment

RotateLeft rotates the Attachment the left way around by 90 degrees.

func (Attachment) RotateRight added in v0.2.0

func (a Attachment) RotateRight() Attachment

RotateRight rotates the Attachment the right way around by 90 degrees.

func (Attachment) Uint8 added in v0.2.0

func (a Attachment) Uint8() uint8

Uint8 returns the Attachment as a uint8.

type Barrel added in v0.1.0

type Barrel struct {

	// Facing is the direction that the barrel is facing.
	Facing cube.Face
	// Open is whether the barrel is open or not.
	Open bool
	// CustomName is the custom name of the barrel. This name is displayed when the barrel is opened, and may
	// include colour codes.
	CustomName string
	// contains filtered or unexported fields
}

Barrel is a fisherman's job site block, used to store items. It functions like a single chest, although it requires no airspace above it to be opened.

func NewBarrel added in v0.1.0

func NewBarrel() Barrel

NewBarrel creates a new initialised barrel. The inventory is properly initialised.

func (Barrel) Activate added in v0.1.0

func (b Barrel) Activate(pos cube.Pos, _ cube.Face, _ *world.World, u item.User) bool

Activate ...

func (Barrel) AddViewer added in v0.1.0

func (b Barrel) AddViewer(v ContainerViewer, w *world.World, pos cube.Pos)

AddViewer adds a viewer to the barrel, so that it is updated whenever the inventory of the barrel is changed.

func (Barrel) BreakInfo added in v0.1.0

func (b Barrel) BreakInfo() BreakInfo

BreakInfo ...

func (Barrel) DecodeNBT added in v0.1.0

func (b Barrel) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (Barrel) EncodeBlock added in v0.1.0

func (b Barrel) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Barrel) EncodeItem added in v0.1.0

func (b Barrel) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Barrel) EncodeNBT added in v0.1.0

func (b Barrel) EncodeNBT() map[string]any

EncodeNBT ...

func (Barrel) FlammabilityInfo added in v0.1.0

func (b Barrel) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Barrel) Hash added in v0.1.0

func (b Barrel) Hash() uint64

func (Barrel) Instrument added in v0.1.0

func (Barrel) Instrument() sound.Instrument

Instrument ...

func (Barrel) Inventory added in v0.1.0

func (b Barrel) Inventory() *inventory.Inventory

Inventory returns the inventory of the barrel. The size of the inventory will be 27.

func (Barrel) Model added in v0.1.0

func (Barrel) Model() world.BlockModel

Model ...

func (Barrel) RemoveViewer added in v0.1.0

func (b Barrel) RemoveViewer(v ContainerViewer, w *world.World, pos cube.Pos)

RemoveViewer removes a viewer from the barrel, so that slot updates in the inventory are no longer sent to it.

func (Barrel) UseOnBlock added in v0.1.0

func (b Barrel) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

func (Barrel) WithName added in v0.1.0

func (b Barrel) WithName(a ...any) world.Item

WithName returns the barrel after applying a specific name to the block.

type Barrier

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

Barrier is a transparent solid block used to create invisible boundaries.

func (Barrier) CanDisplace

func (Barrier) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Barrier) EncodeBlock

func (Barrier) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Barrier) EncodeItem

func (Barrier) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Barrier) Hash

func (Barrier) Hash() uint64

func (Barrier) LightDiffusionLevel

func (Barrier) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Barrier) Model

func (Barrier) Model() world.BlockModel

Model ...

func (Barrier) SideClosed

func (Barrier) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

type Basalt

type Basalt struct {

	// Polished specifies if the basalt is its polished variant.
	Polished bool
	// Axis is the axis which the basalt faces.
	Axis cube.Axis
	// contains filtered or unexported fields
}

Basalt is a type of igneous rock found in the Nether.

func (Basalt) BreakInfo

func (b Basalt) BreakInfo() BreakInfo

BreakInfo ...

func (Basalt) EncodeBlock

func (b Basalt) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Basalt) EncodeItem

func (b Basalt) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Basalt) Hash

func (b Basalt) Hash() uint64

func (Basalt) Instrument

func (Basalt) Instrument() sound.Instrument

Instrument ...

func (Basalt) Model

func (Basalt) Model() world.BlockModel

Model ...

func (Basalt) UseOnBlock

func (b Basalt) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type Beacon

type Beacon struct {

	// Primary and Secondary are the primary and secondary effects broadcast to nearby entities by the
	// beacon.
	Primary, Secondary effect.LastingType
	// contains filtered or unexported fields
}

Beacon is a block that projects a light beam skyward, and can provide status effects such as Speed, Jump Boost, Haste, Regeneration, Resistance, or Strength to nearby players.

func (Beacon) Activate

func (b Beacon) Activate(pos cube.Pos, _ cube.Face, _ *world.World, u item.User) bool

Activate manages the opening of a beacon by activating it.

func (Beacon) BreakInfo

func (b Beacon) BreakInfo() BreakInfo

BreakInfo ...

func (Beacon) CanDisplace

func (b Beacon) CanDisplace(l world.Liquid) bool

CanDisplace ...

func (Beacon) DecodeNBT

func (b Beacon) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (Beacon) EncodeBlock

func (Beacon) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Beacon) EncodeItem

func (Beacon) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Beacon) EncodeNBT

func (b Beacon) EncodeNBT() map[string]any

EncodeNBT ...

func (Beacon) Hash

func (Beacon) Hash() uint64

func (Beacon) Instrument

func (Beacon) Instrument() sound.Instrument

Instrument ...

func (Beacon) Level

func (b Beacon) Level() int

Level returns an integer 0-4 which defines the current pyramid level of the beacon.

func (Beacon) LightDiffusionLevel

func (Beacon) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Beacon) LightEmissionLevel

func (Beacon) LightEmissionLevel() uint8

LightEmissionLevel ...

func (Beacon) Model

func (Beacon) Model() world.BlockModel

Model ...

func (Beacon) SideClosed

func (b Beacon) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Beacon) Tick

func (b Beacon) Tick(currentTick int64, pos cube.Pos, w *world.World)

Tick recalculates level, recalculates the active state of the beacon, and powers players, once every 80 ticks (4 seconds).

type BeaconSource

type BeaconSource interface {
	// PowersBeacon returns a bool which indicates whether this block can contribute to powering up a
	// beacon pyramid.
	PowersBeacon() bool
}

BeaconSource represents a block which is capable of contributing to powering a beacon pyramid.

type Bedrock

type Bedrock struct {

	// InfiniteBurning specifies if the bedrock block is set aflame and will burn forever. This is the case
	// for bedrock found under end crystals on top of the end pillars.
	InfiniteBurning bool
	// contains filtered or unexported fields
}

Bedrock is a block that is indestructible in survival.

func (Bedrock) EncodeBlock

func (b Bedrock) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Bedrock) EncodeItem

func (Bedrock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Bedrock) Hash

func (b Bedrock) Hash() uint64

func (Bedrock) Instrument

func (Bedrock) Instrument() sound.Instrument

Instrument ...

func (Bedrock) LightDiffusionLevel

func (Bedrock) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Bedrock) Model

func (Bedrock) Model() world.BlockModel

Model ...

type BeetrootSeeds

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

BeetrootSeeds are a crop that can be harvested to craft soup or red dye.

func (BeetrootSeeds) BoneMeal

func (b BeetrootSeeds) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (BeetrootSeeds) BreakInfo

func (b BeetrootSeeds) BreakInfo() BreakInfo

BreakInfo ...

func (BeetrootSeeds) CalculateGrowthChance

func (c BeetrootSeeds) CalculateGrowthChance(pos cube.Pos, w *world.World) float64

CalculateGrowthChance calculates the chance the crop will grow during a random tick.

func (BeetrootSeeds) EncodeBlock

func (b BeetrootSeeds) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (BeetrootSeeds) EncodeItem

func (b BeetrootSeeds) EncodeItem() (name string, meta int16)

EncodeItem ...

func (BeetrootSeeds) GrowthStage

func (c BeetrootSeeds) GrowthStage() int

GrowthStage returns the current stage of growth.

func (BeetrootSeeds) HasLiquidDrops

func (c BeetrootSeeds) HasLiquidDrops() bool

HasLiquidDrops ...

func (BeetrootSeeds) Hash

func (b BeetrootSeeds) Hash() uint64

func (BeetrootSeeds) NeighbourUpdateTick

func (c BeetrootSeeds) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (BeetrootSeeds) RandomTick

func (b BeetrootSeeds) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (BeetrootSeeds) SameCrop

func (BeetrootSeeds) SameCrop(c Crop) bool

SameCrop ...

func (BeetrootSeeds) UseOnBlock

func (b BeetrootSeeds) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type BlueIce

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

BlueIce is a solid block similar to packed ice.

func (BlueIce) BreakInfo

func (b BlueIce) BreakInfo() BreakInfo

BreakInfo ...

func (BlueIce) EncodeBlock

func (BlueIce) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (BlueIce) EncodeItem

func (BlueIce) EncodeItem() (name string, meta int16)

EncodeItem ...

func (BlueIce) Friction added in v0.4.0

func (b BlueIce) Friction() float64

Friction ...

func (BlueIce) Hash

func (BlueIce) Hash() uint64

func (BlueIce) Model

func (BlueIce) Model() world.BlockModel

Model ...

type BoneBlock

type BoneBlock struct {

	// Axis is the axis which the bone block faces.
	Axis cube.Axis
	// contains filtered or unexported fields
}

BoneBlock is a decorative block that can face different directions.

func (BoneBlock) BreakInfo

func (b BoneBlock) BreakInfo() BreakInfo

BreakInfo ...

func (BoneBlock) EncodeBlock

func (b BoneBlock) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (BoneBlock) EncodeItem

func (b BoneBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (BoneBlock) Hash

func (b BoneBlock) Hash() uint64

func (BoneBlock) Instrument

func (b BoneBlock) Instrument() sound.Instrument

Instrument ...

func (BoneBlock) Model

func (BoneBlock) Model() world.BlockModel

Model ...

func (BoneBlock) UseOnBlock

func (b BoneBlock) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles the rotational placing of bone blocks.

type Bookshelf added in v0.5.0

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

Bookshelf is a decorative block that primarily serves to enhance enchanting with an enchanting table.

func (Bookshelf) BreakInfo added in v0.5.0

func (b Bookshelf) BreakInfo() BreakInfo

BreakInfo ...

func (Bookshelf) EncodeBlock added in v0.5.0

func (Bookshelf) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Bookshelf) EncodeItem added in v0.5.0

func (Bookshelf) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Bookshelf) Hash added in v0.5.0

func (Bookshelf) Hash() uint64

func (Bookshelf) Instrument added in v0.5.0

func (Bookshelf) Instrument() sound.Instrument

Instrument ...

func (Bookshelf) Model added in v0.5.0

func (Bookshelf) Model() world.BlockModel

Model ...

type BreakInfo

type BreakInfo struct {
	// Hardness is the hardness of the block, which influences the speed with which the block may be mined.
	Hardness float64
	// Harvestable is a function called to check if the block is harvestable using the tool passed. If the
	// item used to break the block is not a tool, a tool.ToolNone is passed.
	Harvestable func(t item.Tool) bool
	// Effective is a function called to check if the block can be mined more effectively with the tool passed
	// than with an empty hand.
	Effective func(t item.Tool) bool
	// Drops is a function called to get the drops of the block if it is broken using the item passed.
	Drops func(t item.Tool, enchantments []item.Enchantment) []item.Stack
	// XPDrops is the range of XP a block can drop when broken.
	XPDrops XPDropRange
}

BreakInfo is a struct returned by every block. It holds information on block breaking related data, such as the tool type and tier required to break it.

type Breakable

type Breakable interface {
	// BreakInfo returns information of the block related to the breaking of it.
	BreakInfo() BreakInfo
}

Breakable represents a block that may be broken by a player in survival mode. Blocks not include are blocks such as bedrock.

type Bricks

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

Bricks are decorative building blocks.

func (Bricks) BreakInfo

func (b Bricks) BreakInfo() BreakInfo

BreakInfo ...

func (Bricks) EncodeBlock

func (Bricks) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Bricks) EncodeItem

func (Bricks) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Bricks) Hash

func (Bricks) Hash() uint64

func (Bricks) Instrument

func (Bricks) Instrument() sound.Instrument

Instrument ...

func (Bricks) Model

func (Bricks) Model() world.BlockModel

Model ...

type Cake

type Cake struct {

	// Bites is the amount of bites taken out of the cake.
	Bites int
	// contains filtered or unexported fields
}

Cake is an edible block.

func (Cake) Activate

func (c Cake) Activate(pos cube.Pos, _ cube.Face, w *world.World, u item.User) bool

Activate ...

func (Cake) BreakInfo

func (c Cake) BreakInfo() BreakInfo

BreakInfo ...

func (Cake) CanDisplace

func (c Cake) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Cake) EncodeBlock

func (c Cake) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Cake) EncodeItem

func (c Cake) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Cake) Hash

func (c Cake) Hash() uint64

func (Cake) LightDiffusionLevel

func (Cake) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Cake) Model

func (c Cake) Model() world.BlockModel

Model ...

func (Cake) NeighbourUpdateTick

func (c Cake) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Cake) SideClosed

func (c Cake) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Cake) UseOnBlock

func (c Cake) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Calcite added in v0.1.0

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

Calcite is a carbonate mineral found as part of amethyst geodes.

func (Calcite) BreakInfo added in v0.1.0

func (c Calcite) BreakInfo() BreakInfo

BreakInfo ...

func (Calcite) EncodeBlock added in v0.1.0

func (c Calcite) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Calcite) EncodeItem added in v0.1.0

func (c Calcite) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Calcite) Hash added in v0.1.0

func (Calcite) Hash() uint64

func (Calcite) Instrument added in v0.1.0

func (Calcite) Instrument() sound.Instrument

Instrument ...

func (Calcite) Model added in v0.1.0

func (Calcite) Model() world.BlockModel

Model ...

type Carpet

type Carpet struct {

	// Colour is the colour of the carpet.
	Colour item.Colour
	// contains filtered or unexported fields
}

Carpet is a colourful block that can be obtained by killing/shearing sheep, or crafted using four string.

func (Carpet) BreakInfo

func (c Carpet) BreakInfo() BreakInfo

BreakInfo ...

func (Carpet) CanDisplace

func (Carpet) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Carpet) EncodeBlock

func (c Carpet) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Carpet) EncodeItem

func (c Carpet) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Carpet) FlammabilityInfo

func (c Carpet) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Carpet) HasLiquidDrops

func (Carpet) HasLiquidDrops() bool

HasLiquidDrops ...

func (Carpet) Hash

func (c Carpet) Hash() uint64

func (Carpet) LightDiffusionLevel

func (Carpet) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Carpet) Model

func (Carpet) Model() world.BlockModel

Model ...

func (Carpet) NeighbourUpdateTick

func (Carpet) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Carpet) SideClosed

func (Carpet) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Carpet) UseOnBlock

func (c Carpet) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles not placing carpets on top of air blocks.

type Carrot

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

Carrot is a crop that can be consumed raw.

func (Carrot) AlwaysConsumable

func (c Carrot) AlwaysConsumable() bool

AlwaysConsumable ...

func (Carrot) BoneMeal

func (c Carrot) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (Carrot) BreakInfo

func (c Carrot) BreakInfo() BreakInfo

BreakInfo ...

func (Carrot) CalculateGrowthChance

func (c Carrot) CalculateGrowthChance(pos cube.Pos, w *world.World) float64

CalculateGrowthChance calculates the chance the crop will grow during a random tick.

func (Carrot) Consume

func (c Carrot) Consume(_ *world.World, consumer item.Consumer) item.Stack

Consume ...

func (Carrot) ConsumeDuration

func (c Carrot) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Carrot) EncodeBlock

func (c Carrot) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Carrot) EncodeItem

func (c Carrot) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Carrot) GrowthStage

func (c Carrot) GrowthStage() int

GrowthStage returns the current stage of growth.

func (Carrot) HasLiquidDrops

func (c Carrot) HasLiquidDrops() bool

HasLiquidDrops ...

func (Carrot) Hash

func (c Carrot) Hash() uint64

func (Carrot) NeighbourUpdateTick

func (c Carrot) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Carrot) RandomTick

func (c Carrot) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (Carrot) SameCrop

func (Carrot) SameCrop(c Crop) bool

SameCrop ...

func (Carrot) UseOnBlock

func (c Carrot) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Chain added in v0.5.0

type Chain struct {

	// Axis is the axis which the chain faces.
	Axis cube.Axis
	// contains filtered or unexported fields
}

Chain is a metallic decoration block.

func (Chain) BreakInfo added in v0.5.0

func (c Chain) BreakInfo() BreakInfo

BreakInfo ...

func (Chain) CanDisplace added in v0.5.0

func (Chain) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Chain) EncodeBlock added in v0.5.0

func (c Chain) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Chain) EncodeItem added in v0.5.0

func (Chain) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Chain) Hash added in v0.5.0

func (c Chain) Hash() uint64

func (Chain) LightDiffusionLevel added in v0.5.0

func (Chain) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Chain) Model added in v0.5.0

func (c Chain) Model() world.BlockModel

Model ...

func (Chain) SideClosed added in v0.5.0

func (Chain) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Chain) UseOnBlock added in v0.5.0

func (c Chain) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type Chest

type Chest struct {

	// Facing is the direction that the chest is facing.
	Facing cube.Direction
	// CustomName is the custom name of the chest. This name is displayed when the chest is opened, and may
	// include colour codes.
	CustomName string
	// contains filtered or unexported fields
}

Chest is a container block which may be used to store items. Chests may also be paired to create a bigger single container. The empty value of Chest is not valid. It must be created using block.NewChest().

func NewChest

func NewChest() Chest

NewChest creates a new initialised chest. The inventory is properly initialised.

func (Chest) Activate

func (c Chest) Activate(pos cube.Pos, _ cube.Face, _ *world.World, u item.User) bool

Activate ...

func (Chest) AddViewer

func (c Chest) AddViewer(v ContainerViewer, w *world.World, pos cube.Pos)

AddViewer adds a viewer to the chest, so that it is updated whenever the inventory of the chest is changed.

func (Chest) BreakInfo

func (c Chest) BreakInfo() BreakInfo

BreakInfo ...

func (Chest) CanDisplace

func (Chest) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Chest) DecodeNBT

func (c Chest) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (Chest) EncodeBlock

func (c Chest) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Chest) EncodeItem

func (Chest) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Chest) EncodeNBT

func (c Chest) EncodeNBT() map[string]any

EncodeNBT ...

func (Chest) FlammabilityInfo

func (c Chest) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Chest) Hash

func (c Chest) Hash() uint64

func (Chest) Instrument

func (Chest) Instrument() sound.Instrument

Instrument ...

func (Chest) Inventory

func (c Chest) Inventory() *inventory.Inventory

Inventory returns the inventory of the chest. The size of the inventory will be 27 or 54, depending on whether the chest is single or double.

func (Chest) LightDiffusionLevel

func (Chest) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Chest) Model

func (Chest) Model() world.BlockModel

Model ...

func (Chest) RemoveViewer

func (c Chest) RemoveViewer(v ContainerViewer, w *world.World, pos cube.Pos)

RemoveViewer removes a viewer from the chest, so that slot updates in the inventory are no longer sent to it.

func (Chest) SideClosed

func (Chest) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Chest) UseOnBlock

func (c Chest) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

func (Chest) WithName

func (c Chest) WithName(a ...any) world.Item

WithName returns the chest after applying a specific name to the block.

type ChiseledQuartz

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

ChiseledQuartz is a mineral block used only for decoration.

func (ChiseledQuartz) BreakInfo

func (c ChiseledQuartz) BreakInfo() BreakInfo

BreakInfo ...

func (ChiseledQuartz) EncodeBlock

func (ChiseledQuartz) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (ChiseledQuartz) EncodeItem

func (c ChiseledQuartz) EncodeItem() (name string, meta int16)

EncodeItem ...

func (ChiseledQuartz) Hash

func (ChiseledQuartz) Hash() uint64

func (ChiseledQuartz) Instrument

func (ChiseledQuartz) Instrument() sound.Instrument

Instrument ...

func (ChiseledQuartz) Model

func (ChiseledQuartz) Model() world.BlockModel

Model ...

type Clay

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

Clay is a block that can be found underwater.

func (Clay) BreakInfo

func (c Clay) BreakInfo() BreakInfo

BreakInfo ...

func (Clay) EncodeBlock

func (c Clay) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Clay) EncodeItem

func (c Clay) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Clay) Hash

func (Clay) Hash() uint64

func (Clay) Instrument

func (c Clay) Instrument() sound.Instrument

Instrument ...

func (Clay) Model

func (Clay) Model() world.BlockModel

Model ...

type CloseAction added in v0.6.0

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

CloseAction is a world.BlockAction to close a block at a position, complementary to the OpenAction action.

func (CloseAction) BlockAction added in v0.6.0

func (CloseAction) BlockAction()

BlockAction serves to implement the world.BlockAction interface.

type CoalBlock

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

CoalBlock is a precious mineral block made from 9 coal.

func (CoalBlock) BreakInfo

func (c CoalBlock) BreakInfo() BreakInfo

BreakInfo ...

func (CoalBlock) EncodeBlock

func (CoalBlock) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (CoalBlock) EncodeItem

func (CoalBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (CoalBlock) FlammabilityInfo

func (c CoalBlock) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (CoalBlock) Hash

func (CoalBlock) Hash() uint64

func (CoalBlock) Instrument

func (CoalBlock) Instrument() sound.Instrument

Instrument ...

func (CoalBlock) Model

func (CoalBlock) Model() world.BlockModel

Model ...

type CoalOre

type CoalOre struct {

	// Type is the type of coal ore.
	Type OreType
	// contains filtered or unexported fields
}

CoalOre is a common ore.

func (CoalOre) BreakInfo

func (c CoalOre) BreakInfo() BreakInfo

BreakInfo ...

func (CoalOre) EncodeBlock

func (c CoalOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (CoalOre) EncodeItem

func (c CoalOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (CoalOre) Hash

func (c CoalOre) Hash() uint64

func (CoalOre) Instrument

func (CoalOre) Instrument() sound.Instrument

Instrument ...

func (CoalOre) Model

func (CoalOre) Model() world.BlockModel

Model ...

type Cobblestone

type Cobblestone struct {

	// Mossy specifies if the cobblestone is mossy. This variant of cobblestone is typically found in
	// dungeons or in small clusters in the giant tree taiga biome.
	Mossy bool
	// contains filtered or unexported fields
}

Cobblestone is a common block, obtained from mining stone.

func (Cobblestone) BreakInfo

func (c Cobblestone) BreakInfo() BreakInfo

BreakInfo ...

func (Cobblestone) EncodeBlock

func (c Cobblestone) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Cobblestone) EncodeItem

func (c Cobblestone) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Cobblestone) Hash

func (c Cobblestone) Hash() uint64

func (Cobblestone) Instrument

func (Cobblestone) Instrument() sound.Instrument

Instrument ...

func (Cobblestone) Model

func (Cobblestone) Model() world.BlockModel

Model ...

type CocoaBean

type CocoaBean struct {

	// Facing is the direction from the cocoa bean to the log.
	Facing cube.Direction
	// Age is the stage of the cocoa bean's growth. 2 is fully grown.
	Age int
	// contains filtered or unexported fields
}

CocoaBean is a crop block found in jungle biomes.

func (CocoaBean) BoneMeal

func (c CocoaBean) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (CocoaBean) BreakInfo

func (c CocoaBean) BreakInfo() BreakInfo

BreakInfo ...

func (CocoaBean) EncodeBlock

func (c CocoaBean) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (CocoaBean) EncodeItem

func (c CocoaBean) EncodeItem() (name string, meta int16)

EncodeItem ...

func (CocoaBean) HasLiquidDrops

func (c CocoaBean) HasLiquidDrops() bool

HasLiquidDrops ...

func (CocoaBean) Hash

func (c CocoaBean) Hash() uint64

func (CocoaBean) LightDiffusionLevel

func (CocoaBean) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (CocoaBean) Model

func (c CocoaBean) Model() world.BlockModel

Model ...

func (CocoaBean) NeighbourUpdateTick

func (c CocoaBean) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (CocoaBean) RandomTick

func (c CocoaBean) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (CocoaBean) UseOnBlock

func (c CocoaBean) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Concrete

type Concrete struct {

	// Colour is the colour of the concrete block.
	Colour item.Colour
	// contains filtered or unexported fields
}

Concrete is a solid block which comes in the 16 regular dye colors, created by placing concrete powder adjacent to water.

func (Concrete) BreakInfo

func (c Concrete) BreakInfo() BreakInfo

BreakInfo ...

func (Concrete) EncodeBlock

func (c Concrete) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Concrete) EncodeItem

func (c Concrete) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Concrete) Hash

func (c Concrete) Hash() uint64

func (Concrete) Instrument

func (Concrete) Instrument() sound.Instrument

Instrument ...

func (Concrete) Model

func (Concrete) Model() world.BlockModel

Model ...

type ConcretePowder

type ConcretePowder struct {

	// Colour is the colour of the concrete powder.
	Colour item.Colour
	// contains filtered or unexported fields
}

ConcretePowder is a gravity affected block that comes in 16 different colours. When interacting with water, it becomes concrete.

func (ConcretePowder) BreakInfo

func (c ConcretePowder) BreakInfo() BreakInfo

BreakInfo ...

func (ConcretePowder) EncodeBlock

func (c ConcretePowder) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (ConcretePowder) EncodeItem

func (c ConcretePowder) EncodeItem() (name string, meta int16)

EncodeItem ...

func (ConcretePowder) Hash

func (c ConcretePowder) Hash() uint64

func (ConcretePowder) Instrument

func (ConcretePowder) Instrument() sound.Instrument

Instrument ...

func (ConcretePowder) Model

func (ConcretePowder) Model() world.BlockModel

Model ...

func (ConcretePowder) NeighbourUpdateTick

func (c ConcretePowder) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (ConcretePowder) Solidifies

func (c ConcretePowder) Solidifies(pos cube.Pos, w *world.World) bool

Solidifies ...

type Container

type Container interface {
	AddViewer(v ContainerViewer, w *world.World, pos cube.Pos)
	RemoveViewer(v ContainerViewer, w *world.World, pos cube.Pos)
	Inventory() *inventory.Inventory
}

Container represents a container of items, typically a block such as a chest. Containers may have their inventory opened by viewers.

type ContainerOpener

type ContainerOpener interface {
	// OpenBlockContainer opens a block container at the position passed.
	OpenBlockContainer(pos cube.Pos)
}

ContainerOpener represents an entity that is able to open a container.

type ContainerViewer

type ContainerViewer interface {
	// ViewSlotChange views a change of a single slot in the inventory, in which the item was changed to the
	// new item passed.
	ViewSlotChange(slot int, newItem item.Stack)
}

ContainerViewer represents a viewer that is able to view a container and its inventory.

type ContinueCrackAction added in v0.6.0

type ContinueCrackAction struct {
	BreakTime time.Duration
	// contains filtered or unexported fields
}

ContinueCrackAction is a world.BlockAction sent every so often to continue the cracking process of the block. It is only ever sent after a StartCrackAction action, and may have an altered break time if the player is not on the ground, submerged or is using a different item than at first.

func (ContinueCrackAction) BlockAction added in v0.6.0

func (ContinueCrackAction) BlockAction()

BlockAction serves to implement the world.BlockAction interface.

type CopperOre added in v0.1.0

type CopperOre struct {

	// Type is the type of copper ore.
	Type OreType
	// contains filtered or unexported fields
}

CopperOre is a rare mineral block found underground.

func (CopperOre) BreakInfo added in v0.1.0

func (c CopperOre) BreakInfo() BreakInfo

BreakInfo ...

func (CopperOre) EncodeBlock added in v0.1.0

func (c CopperOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (CopperOre) EncodeItem added in v0.1.0

func (c CopperOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (CopperOre) Hash added in v0.1.0

func (c CopperOre) Hash() uint64

func (CopperOre) Instrument added in v0.1.0

func (CopperOre) Instrument() sound.Instrument

Instrument ...

func (CopperOre) Model added in v0.1.0

func (CopperOre) Model() world.BlockModel

Model ...

type Coral

type Coral struct {

	// Type is the type of coral of the block.
	Type CoralType
	// Dead is whether the coral is dead.
	Dead bool
	// contains filtered or unexported fields
}

Coral is a non-solid block that comes in 5 variants.

func (Coral) BreakInfo

func (c Coral) BreakInfo() BreakInfo

BreakInfo ...

func (Coral) CanDisplace

func (c Coral) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Coral) EncodeBlock

func (c Coral) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Coral) EncodeItem

func (c Coral) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Coral) HasLiquidDrops

func (c Coral) HasLiquidDrops() bool

HasLiquidDrops ...

func (Coral) Hash

func (c Coral) Hash() uint64

func (Coral) Instrument

func (Coral) Instrument() sound.Instrument

Instrument ...

func (Coral) LightDiffusionLevel

func (Coral) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Coral) Model

func (Coral) Model() world.BlockModel

Model ...

func (Coral) NeighbourUpdateTick

func (c Coral) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Coral) ScheduledTick

func (c Coral) ScheduledTick(pos cube.Pos, w *world.World, _ *rand.Rand)

ScheduledTick ...

func (Coral) SideClosed

func (c Coral) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Coral) UseOnBlock

func (c Coral) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type CoralBlock

type CoralBlock struct {

	// Type is the type of coral of the block.
	Type CoralType
	// Dead is whether the coral block is dead.
	Dead bool
	// contains filtered or unexported fields
}

CoralBlock is a solid block that comes in 5 variants.

func (CoralBlock) BreakInfo

func (c CoralBlock) BreakInfo() BreakInfo

BreakInfo ...

func (CoralBlock) EncodeBlock

func (c CoralBlock) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (CoralBlock) EncodeItem

func (c CoralBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (CoralBlock) Hash

func (c CoralBlock) Hash() uint64

func (CoralBlock) Instrument

func (CoralBlock) Instrument() sound.Instrument

Instrument ...

func (CoralBlock) Model

func (CoralBlock) Model() world.BlockModel

Model ...

func (CoralBlock) NeighbourUpdateTick

func (c CoralBlock) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (CoralBlock) ScheduledTick

func (c CoralBlock) ScheduledTick(pos cube.Pos, w *world.World, _ *rand.Rand)

ScheduledTick ...

type CoralType

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

CoralType represents a type of coral of a block. CoralType, coral fans, and coral blocks carry one of these types.

func BrainCoral

func BrainCoral() CoralType

BrainCoral returns the brain coral variant

func BubbleCoral

func BubbleCoral() CoralType

BubbleCoral returns the bubble coral variant

func CoralTypes

func CoralTypes() []CoralType

CoralTypes returns all coral types.

func FireCoral

func FireCoral() CoralType

FireCoral returns the fire coral variant

func HornCoral

func HornCoral() CoralType

HornCoral returns the horn coral variant

func TubeCoral

func TubeCoral() CoralType

TubeCoral returns the tube coral variant

func (CoralType) Colour

func (c CoralType) Colour() item.Colour

Colour returns the colour of the CoralType.

func (CoralType) Name

func (c CoralType) Name() string

Name ...

func (CoralType) String

func (c CoralType) String() string

String ...

func (CoralType) Uint8

func (c CoralType) Uint8() uint8

Uint8 returns the coral as a uint8.

type Crop

type Crop interface {
	// GrowthStage returns the crop's current stage of growth. The max value is 7.
	GrowthStage() int
	// SameCrop checks if two crops are of the same type.
	SameCrop(c Crop) bool
}

Crop is an interface for all crops that are grown on farmland. A crop has a random chance to grow during random ticks.

type DeadBush added in v0.4.0

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

DeadBush is a transparent block in the form of an aesthetic plant.

func (DeadBush) BreakInfo added in v0.4.0

func (d DeadBush) BreakInfo() BreakInfo

BreakInfo ...

func (DeadBush) CanDisplace added in v0.4.0

func (d DeadBush) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (DeadBush) EncodeBlock added in v0.4.0

func (d DeadBush) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DeadBush) EncodeItem added in v0.4.0

func (d DeadBush) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DeadBush) FlammabilityInfo added in v0.4.0

func (d DeadBush) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (DeadBush) HasLiquidDrops added in v0.4.0

func (d DeadBush) HasLiquidDrops() bool

HasLiquidDrops ...

func (DeadBush) Hash added in v0.4.0

func (DeadBush) Hash() uint64

func (DeadBush) LightDiffusionLevel added in v0.4.0

func (DeadBush) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (DeadBush) Model added in v0.4.0

func (DeadBush) Model() world.BlockModel

Model ...

func (DeadBush) NeighbourUpdateTick added in v0.4.0

func (d DeadBush) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (DeadBush) ReplaceableBy added in v0.4.0

func (DeadBush) ReplaceableBy(world.Block) bool

ReplaceableBy ...

func (DeadBush) SideClosed added in v0.4.0

func (d DeadBush) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (DeadBush) UseOnBlock added in v0.4.0

func (d DeadBush) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type DiamondBlock

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

DiamondBlock is a block which can only be gained by crafting it.

func (DiamondBlock) BreakInfo

func (d DiamondBlock) BreakInfo() BreakInfo

BreakInfo ...

func (DiamondBlock) EncodeBlock

func (DiamondBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DiamondBlock) EncodeItem

func (DiamondBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DiamondBlock) Hash

func (DiamondBlock) Hash() uint64

func (DiamondBlock) Model

func (DiamondBlock) Model() world.BlockModel

Model ...

func (DiamondBlock) PowersBeacon

func (DiamondBlock) PowersBeacon() bool

PowersBeacon ...

type DiamondOre

type DiamondOre struct {

	// Type is the type of diamond ore.
	Type OreType
	// contains filtered or unexported fields
}

DiamondOre is a rare ore that generates underground.

func (DiamondOre) BreakInfo

func (d DiamondOre) BreakInfo() BreakInfo

BreakInfo ...

func (DiamondOre) EncodeBlock

func (d DiamondOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DiamondOre) EncodeItem

func (d DiamondOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DiamondOre) Hash

func (d DiamondOre) Hash() uint64

func (DiamondOre) Instrument

func (DiamondOre) Instrument() sound.Instrument

Instrument ...

func (DiamondOre) Model

func (DiamondOre) Model() world.BlockModel

Model ...

type Diorite

type Diorite polishable

Diorite is a type of igneous rock.

func (Diorite) BreakInfo

func (d Diorite) BreakInfo() BreakInfo

BreakInfo ...

func (Diorite) EncodeBlock

func (d Diorite) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Diorite) EncodeItem

func (d Diorite) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Diorite) Hash

func (d Diorite) Hash() uint64

type Dirt

type Dirt struct {

	// Coarse specifies if the dirt should be off the coarse dirt variant. Grass blocks won't spread on
	// the block if set to true.
	Coarse bool
	// contains filtered or unexported fields
}

Dirt is a block found abundantly in most biomes under a layer of grass blocks at the top of the normal world.

func (Dirt) BreakInfo

func (d Dirt) BreakInfo() BreakInfo

BreakInfo ...

func (Dirt) EncodeBlock

func (d Dirt) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Dirt) EncodeItem

func (d Dirt) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Dirt) Hash

func (d Dirt) Hash() uint64

func (Dirt) Model

func (Dirt) Model() world.BlockModel

Model ...

func (Dirt) Shovel

func (d Dirt) Shovel() (world.Block, bool)

Shovel ...

func (Dirt) SoilFor added in v0.1.0

func (d Dirt) SoilFor(block world.Block) bool

SoilFor ...

func (Dirt) Till

func (d Dirt) Till() (world.Block, bool)

Till ...

type DirtPath

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

DirtPath is a decorative block that can be created by using a shovel on a dirt or grass block.

func (DirtPath) BreakInfo

func (p DirtPath) BreakInfo() BreakInfo

BreakInfo ...

func (DirtPath) EncodeBlock

func (DirtPath) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DirtPath) EncodeItem

func (DirtPath) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DirtPath) Hash

func (DirtPath) Hash() uint64

func (DirtPath) LightDiffusionLevel

func (DirtPath) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (DirtPath) Model

func (DirtPath) Model() world.BlockModel

Model ...

func (DirtPath) NeighbourUpdateTick

func (p DirtPath) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick handles the turning from dirt path into dirt if a block is placed on top of it.

func (DirtPath) Till added in v0.1.0

func (p DirtPath) Till() (world.Block, bool)

Till ...

type DoubleFlower added in v0.1.0

type DoubleFlower struct {

	// UpperPart is set if the plant is the upper part.
	UpperPart bool
	// Type is the type of the double plant.
	Type DoubleFlowerType
	// contains filtered or unexported fields
}

DoubleFlower is a two block high flower consisting of an upper and lower part.

func (DoubleFlower) BoneMeal added in v0.1.0

func (d DoubleFlower) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (DoubleFlower) BreakInfo added in v0.1.0

func (d DoubleFlower) BreakInfo() BreakInfo

BreakInfo ...

func (DoubleFlower) EncodeBlock added in v0.1.0

func (d DoubleFlower) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DoubleFlower) EncodeItem added in v0.1.0

func (d DoubleFlower) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DoubleFlower) FlammabilityInfo added in v0.1.0

func (d DoubleFlower) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (DoubleFlower) HasLiquidDrops added in v0.1.0

func (d DoubleFlower) HasLiquidDrops() bool

HasLiquidDrops ...

func (DoubleFlower) Hash added in v0.1.0

func (d DoubleFlower) Hash() uint64

func (DoubleFlower) LightDiffusionLevel added in v0.1.0

func (DoubleFlower) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (DoubleFlower) Model added in v0.1.0

func (DoubleFlower) Model() world.BlockModel

Model ...

func (DoubleFlower) NeighbourUpdateTick added in v0.1.0

func (d DoubleFlower) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (DoubleFlower) UseOnBlock added in v0.1.0

func (d DoubleFlower) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type DoubleFlowerType added in v0.1.0

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

DoubleFlowerType represents a type of double flower.

func DoubleFlowerTypes added in v0.1.0

func DoubleFlowerTypes() []DoubleFlowerType

DoubleFlowerTypes ...

func Lilac added in v0.1.0

func Lilac() DoubleFlowerType

Lilac is a lilac plant.

func Peony added in v0.1.0

func Peony() DoubleFlowerType

Peony is a peony plant.

func RoseBush added in v0.1.0

func RoseBush() DoubleFlowerType

RoseBush is a rose bush plant.

func Sunflower added in v0.1.0

func Sunflower() DoubleFlowerType

Sunflower is a sunflower plant.

func (DoubleFlowerType) Name added in v0.1.0

func (d DoubleFlowerType) Name() string

Name ...

func (DoubleFlowerType) String added in v0.1.0

func (d DoubleFlowerType) String() string

String ...

func (DoubleFlowerType) Uint8 added in v0.1.0

func (d DoubleFlowerType) Uint8() uint8

Uint8 returns the double plant as a uint8.

type DoubleTallGrass added in v0.1.0

type DoubleTallGrass struct {

	// UpperPart is set if the plant is the upper part.
	UpperPart bool
	// Type is the type of grass
	Type GrassType
	// contains filtered or unexported fields
}

DoubleTallGrass is a two-block high variety of grass.

func (DoubleTallGrass) BreakInfo added in v0.1.0

func (d DoubleTallGrass) BreakInfo() BreakInfo

BreakInfo ...

func (DoubleTallGrass) EncodeBlock added in v0.1.0

func (d DoubleTallGrass) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DoubleTallGrass) EncodeItem added in v0.1.0

func (d DoubleTallGrass) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DoubleTallGrass) FlammabilityInfo added in v0.1.0

func (d DoubleTallGrass) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (DoubleTallGrass) HasLiquidDrops added in v0.1.0

func (d DoubleTallGrass) HasLiquidDrops() bool

HasLiquidDrops ...

func (DoubleTallGrass) Hash added in v0.1.0

func (d DoubleTallGrass) Hash() uint64

func (DoubleTallGrass) LightDiffusionLevel added in v0.1.0

func (DoubleTallGrass) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (DoubleTallGrass) Model added in v0.1.0

func (DoubleTallGrass) Model() world.BlockModel

Model ...

func (DoubleTallGrass) NeighbourUpdateTick added in v0.1.0

func (d DoubleTallGrass) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (DoubleTallGrass) ReplaceableBy added in v0.1.0

func (DoubleTallGrass) ReplaceableBy(world.Block) bool

ReplaceableBy ...

func (DoubleTallGrass) UseOnBlock added in v0.1.0

func (d DoubleTallGrass) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type DragonEgg

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

DragonEgg is a decorative block or a "trophy item", and the rarest item in the game.

func (DragonEgg) Activate

func (d DragonEgg) Activate(pos cube.Pos, _ cube.Face, w *world.World, _ item.User) bool

Activate ...

func (DragonEgg) BreakInfo

func (d DragonEgg) BreakInfo() BreakInfo

BreakInfo ...

func (DragonEgg) CanDisplace

func (d DragonEgg) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (DragonEgg) EncodeBlock

func (DragonEgg) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DragonEgg) EncodeItem

func (DragonEgg) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DragonEgg) Hash

func (DragonEgg) Hash() uint64

func (DragonEgg) LightDiffusionLevel

func (DragonEgg) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (DragonEgg) LightEmissionLevel

func (d DragonEgg) LightEmissionLevel() uint8

LightEmissionLevel ...

func (DragonEgg) Model

func (DragonEgg) Model() world.BlockModel

Model ...

func (DragonEgg) NeighbourUpdateTick

func (d DragonEgg) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (DragonEgg) Punch

func (d DragonEgg) Punch(pos cube.Pos, _ cube.Face, w *world.World, u item.User)

Punch ...

func (DragonEgg) SideClosed

func (d DragonEgg) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (DragonEgg) Solidifies

func (g DragonEgg) Solidifies(cube.Pos, *world.World) bool

Solidifies ...

type DriedKelpBlock added in v0.1.0

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

DriedKelpBlock is a block primarily used as fuel in furnaces.

func (DriedKelpBlock) BreakInfo added in v0.1.0

func (d DriedKelpBlock) BreakInfo() BreakInfo

BreakInfo ...

func (DriedKelpBlock) EncodeBlock added in v0.1.0

func (DriedKelpBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (DriedKelpBlock) EncodeItem added in v0.1.0

func (DriedKelpBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (DriedKelpBlock) FlammabilityInfo added in v0.1.0

func (DriedKelpBlock) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (DriedKelpBlock) Hash added in v0.1.0

func (DriedKelpBlock) Hash() uint64

func (DriedKelpBlock) Model added in v0.1.0

func (DriedKelpBlock) Model() world.BlockModel

Model ...

type Dripstone added in v0.1.0

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

Dripstone is a rock block that allows pointed dripstone to grow beneath it.

func (Dripstone) BreakInfo added in v0.1.0

func (d Dripstone) BreakInfo() BreakInfo

BreakInfo ...

func (Dripstone) EncodeBlock added in v0.1.0

func (d Dripstone) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Dripstone) EncodeItem added in v0.1.0

func (d Dripstone) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Dripstone) Hash added in v0.1.0

func (Dripstone) Hash() uint64

func (Dripstone) Instrument added in v0.1.0

func (Dripstone) Instrument() sound.Instrument

Instrument ...

func (Dripstone) Model added in v0.1.0

func (Dripstone) Model() world.BlockModel

Model ...

type EmeraldBlock

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

EmeraldBlock is a precious mineral block crafted using 9 emeralds.

func (EmeraldBlock) BreakInfo

func (e EmeraldBlock) BreakInfo() BreakInfo

BreakInfo ...

func (EmeraldBlock) EncodeBlock

func (EmeraldBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (EmeraldBlock) EncodeItem

func (EmeraldBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (EmeraldBlock) Hash

func (EmeraldBlock) Hash() uint64

func (EmeraldBlock) Instrument

func (e EmeraldBlock) Instrument() sound.Instrument

Instrument ...

func (EmeraldBlock) Model

func (EmeraldBlock) Model() world.BlockModel

Model ...

func (EmeraldBlock) PowersBeacon

func (EmeraldBlock) PowersBeacon() bool

PowersBeacon ...

type EmeraldOre

type EmeraldOre struct {

	// Type is the type of emerald ore.
	Type OreType
	// contains filtered or unexported fields
}

EmeraldOre is an ore generating exclusively under mountain biomes.

func (EmeraldOre) BreakInfo

func (e EmeraldOre) BreakInfo() BreakInfo

BreakInfo ...

func (EmeraldOre) EncodeBlock

func (e EmeraldOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (EmeraldOre) EncodeItem

func (e EmeraldOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (EmeraldOre) Hash

func (e EmeraldOre) Hash() uint64

func (EmeraldOre) Instrument

func (EmeraldOre) Instrument() sound.Instrument

Instrument ...

func (EmeraldOre) Model

func (EmeraldOre) Model() world.BlockModel

Model ...

type EndBrickStairs

type EndBrickStairs struct {

	// UpsideDown specifies if the stairs are upside down. If set to true, the full side is at the top part
	// of the block.
	UpsideDown bool
	// Facing is the direction that the full side of the stairs is facing.
	Facing cube.Direction
	// contains filtered or unexported fields
}

EndBrickStairs are blocks that allow entities to walk up blocks without jumping. They are crafted using end bricks.

func (EndBrickStairs) BreakInfo

func (s EndBrickStairs) BreakInfo() BreakInfo

BreakInfo ...

func (EndBrickStairs) CanDisplace

func (EndBrickStairs) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (EndBrickStairs) EncodeBlock

func (s EndBrickStairs) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (EndBrickStairs) EncodeItem

func (s EndBrickStairs) EncodeItem() (name string, meta int16)

EncodeItem ...

func (EndBrickStairs) Hash

func (s EndBrickStairs) Hash() uint64

func (EndBrickStairs) LightDiffusionLevel

func (EndBrickStairs) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (EndBrickStairs) Model

func (s EndBrickStairs) Model() world.BlockModel

Model ...

func (EndBrickStairs) SideClosed

func (s EndBrickStairs) SideClosed(pos, side cube.Pos, w *world.World) bool

SideClosed ...

func (EndBrickStairs) UseOnBlock

func (s EndBrickStairs) UseOnBlock(pos cube.Pos, face cube.Face, clickPos mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles the directional placing of stairs and makes sure they are properly placed upside down when needed.

type EndBricks

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

EndBricks is a block made from combining four endstone blocks together.

func (EndBricks) BreakInfo

func (e EndBricks) BreakInfo() BreakInfo

BreakInfo ...

func (EndBricks) EncodeBlock

func (EndBricks) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (EndBricks) EncodeItem

func (EndBricks) EncodeItem() (name string, meta int16)

EncodeItem ...

func (EndBricks) Hash

func (EndBricks) Hash() uint64

func (EndBricks) Instrument

func (EndBricks) Instrument() sound.Instrument

Instrument ...

func (EndBricks) Model

func (EndBricks) Model() world.BlockModel

Model ...

type EndStone

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

EndStone is a block found in The End.

func (EndStone) BreakInfo

func (e EndStone) BreakInfo() BreakInfo

BreakInfo ...

func (EndStone) EncodeBlock

func (EndStone) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (EndStone) EncodeItem

func (EndStone) EncodeItem() (name string, meta int16)

EncodeItem ...

func (EndStone) Hash

func (EndStone) Hash() uint64

func (EndStone) Instrument

func (EndStone) Instrument() sound.Instrument

Instrument ...

func (EndStone) Model

func (EndStone) Model() world.BlockModel

Model ...

type EntityInsider added in v0.4.0

type EntityInsider interface {
	// EntityInside is called when an entity goes inside the block's 1x1x1 axis aligned bounding box.
	EntityInside(pos cube.Pos, w *world.World, e world.Entity)
}

EntityInsider represents a block that reacts to an entity going inside its 1x1x1 axis aligned bounding box.

type EntityLander added in v0.4.0

type EntityLander interface {
	// EntityLand is called when an entity lands on the block.
	EntityLand(pos cube.Pos, w *world.World, e world.Entity)
}

EntityLander represents a block that reacts to an entity landing on it after falling.

type Farmland

type Farmland struct {

	// Hydration is how much moisture the farmland block has. Hydration starts at 0 & caps at 7. During a random tick
	// update, if there is water within 4 blocks from the farmland block, hydration is set to 7. Otherwise, it
	// decrements until it turns into dirt.
	Hydration int
	// contains filtered or unexported fields
}

Farmland is a block that crops are grown on. Farmland is created by interacting with a grass or dirt block using a hoe. Farmland can be hydrated by nearby water, with no hydration resulting in it turning into a dirt block.

func (Farmland) BreakInfo

func (f Farmland) BreakInfo() BreakInfo

BreakInfo ...

func (Farmland) EncodeBlock

func (f Farmland) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Farmland) EncodeItem

func (f Farmland) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Farmland) EntityLand added in v0.4.0

func (f Farmland) EntityLand(pos cube.Pos, w *world.World, e world.Entity)

EntityLand ...

func (Farmland) Hash

func (f Farmland) Hash() uint64

func (Farmland) Model

func (Farmland) Model() world.BlockModel

Model ...

func (Farmland) NeighbourUpdateTick

func (f Farmland) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Farmland) RandomTick

func (f Farmland) RandomTick(pos cube.Pos, w *world.World, _ *rand.Rand)

RandomTick ...

func (Farmland) SoilFor added in v0.1.0

func (f Farmland) SoilFor(block world.Block) bool

SoilFor ...

type Fire

type Fire struct {

	// Type is the type of fire.
	Type FireType
	// Age affects how fire extinguishes. Newly placed fire starts at 0 and the value has a 1/3 chance of incrementing
	// each block tick.
	Age int
	// contains filtered or unexported fields
}

Fire is a non-solid block that can spread to nearby flammable blocks.

func (Fire) EncodeBlock

func (f Fire) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Fire) EntityInside added in v0.4.0

func (f Fire) EntityInside(_ cube.Pos, _ *world.World, e world.Entity)

EntityInside ...

func (Fire) HasLiquidDrops

func (f Fire) HasLiquidDrops() bool

HasLiquidDrops ...

func (Fire) Hash

func (f Fire) Hash() uint64

func (Fire) LightDiffusionLevel

func (Fire) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Fire) LightEmissionLevel

func (f Fire) LightEmissionLevel() uint8

LightEmissionLevel ...

func (Fire) Model

func (Fire) Model() world.BlockModel

Model ...

func (Fire) NeighbourUpdateTick

func (f Fire) NeighbourUpdateTick(pos, neighbour cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Fire) RandomTick

func (f Fire) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (Fire) ReplaceableBy

func (Fire) ReplaceableBy(world.Block) bool

ReplaceableBy ...

func (Fire) ScheduledTick

func (f Fire) ScheduledTick(pos cube.Pos, w *world.World, r *rand.Rand)

ScheduledTick ...

func (Fire) Start added in v0.3.0

func (f Fire) Start(w *world.World, pos cube.Pos)

Start starts a fire at a position in the world. The position passed must be either air or tall grass and conditions for a fire to be present must be present.

type FireType

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

FireType represents a type of fire. Used by flaming blocks such as torches, lanterns, fire, and campfires.

func FireTypes

func FireTypes() []FireType

FireTypes ...

func NormalFire

func NormalFire() FireType

NormalFire is the default variant of fires

func SoulFire

func SoulFire() FireType

SoulFire is a turquoise variant of normal fire

func (FireType) LightLevel

func (f FireType) LightLevel() uint8

LightLevel returns the light level of the fire.

func (FireType) Name

func (f FireType) Name() string

Name ...

func (FireType) String

func (f FireType) String() string

String ...

func (FireType) Uint8

func (f FireType) Uint8() uint8

Uint8 returns the fire as a uint8.

type FlammabilityInfo

type FlammabilityInfo struct {
	// Encouragement is the chance a block will catch on fire during attempted fire spread.
	Encouragement int
	// Flammability is the chance a block will burn away during a fire block tick.
	Flammability int
	// LavaFlammable returns whether it can catch on fire from lava.
	LavaFlammable bool
}

FlammabilityInfo contains values related to block behaviors involving fire.

type Flammable

type Flammable interface {
	// FlammabilityInfo returns information about a block's behavior involving fire.
	FlammabilityInfo() FlammabilityInfo
}

Flammable is an interface for blocks that can catch on fire.

type Flower added in v0.1.0

type Flower struct {

	// Type is the type of flower.
	Type FlowerType
	// contains filtered or unexported fields
}

Flower is a non-solid plant that occur in a variety of shapes and colours. They are primarily used for decoration and crafted into dyes.

func (Flower) BoneMeal added in v0.1.0

func (f Flower) BoneMeal(pos cube.Pos, w *world.World) (success bool)

BoneMeal ...

func (Flower) BreakInfo added in v0.1.0

func (f Flower) BreakInfo() BreakInfo

BreakInfo ...

func (Flower) EncodeBlock added in v0.1.0

func (f Flower) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Flower) EncodeItem added in v0.1.0

func (f Flower) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Flower) EntityInside added in v0.4.0

func (f Flower) EntityInside(_ cube.Pos, _ *world.World, e world.Entity)

EntityInside ...

func (Flower) FlammabilityInfo added in v0.1.0

func (Flower) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Flower) HasLiquidDrops added in v0.1.0

func (Flower) HasLiquidDrops() bool

HasLiquidDrops ...

func (Flower) Hash added in v0.1.0

func (f Flower) Hash() uint64

func (Flower) LightDiffusionLevel added in v0.1.0

func (Flower) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Flower) Model added in v0.1.0

func (Flower) Model() world.BlockModel

Model ...

func (Flower) NeighbourUpdateTick added in v0.1.0

func (f Flower) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Flower) UseOnBlock added in v0.1.0

func (f Flower) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type FlowerType added in v0.1.0

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

FlowerType represents a type of flower.

func Allium added in v0.1.0

func Allium() FlowerType

Allium is an allium flower.

func AzureBluet added in v0.1.0

func AzureBluet() FlowerType

AzureBluet is an azure bluet flower.

func BlueOrchid added in v0.1.0

func BlueOrchid() FlowerType

BlueOrchid is a blue orchid flower.

func Cornflower added in v0.1.0

func Cornflower() FlowerType

Cornflower is a cornflower flower.

func Dandelion added in v0.1.0

func Dandelion() FlowerType

Dandelion is a dandelion flower.

func FlowerTypes added in v0.1.0

func FlowerTypes() []FlowerType

FlowerTypes ...

func LilyOfTheValley added in v0.1.0

func LilyOfTheValley() FlowerType

LilyOfTheValley is a lily of the valley flower.

func OrangeTulip added in v0.1.0

func OrangeTulip() FlowerType

OrangeTulip is an orange tulip flower.

func OxeyeDaisy added in v0.1.0

func OxeyeDaisy() FlowerType

OxeyeDaisy is an oxeye daisy flower.

func PinkTulip added in v0.1.0

func PinkTulip() FlowerType

PinkTulip is a pink tulip flower.

func Poppy added in v0.1.0

func Poppy() FlowerType

Poppy is a poppy flower.

func RedTulip added in v0.1.0

func RedTulip() FlowerType

RedTulip is a red tulip flower.

func WhiteTulip added in v0.1.0

func WhiteTulip() FlowerType

WhiteTulip is a white tulip flower.

func WitherRose added in v0.1.0

func WitherRose() FlowerType

WitherRose is a wither rose flower.

func (FlowerType) Name added in v0.1.0

func (f FlowerType) Name() string

Name ...

func (FlowerType) String added in v0.1.0

func (f FlowerType) String() string

String ...

func (FlowerType) Uint8 added in v0.1.0

func (f FlowerType) Uint8() uint8

Uint8 returns the flower as a uint8.

type Frictional added in v0.4.0

type Frictional interface {
	// Friction returns the block's friction value.
	Friction() float64
}

Frictional represents a block that may have a custom friction value, friction is used for entity drag when the entity is on ground. If a block does not implement this interface, it should be assumed that its friction is 0.6.

type GildedBlackstone

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

GildedBlackstone is a variant of blackstone that can drop itself or gold nuggets when mined.

func (GildedBlackstone) BreakInfo

func (b GildedBlackstone) BreakInfo() BreakInfo

BreakInfo ...

func (GildedBlackstone) EncodeBlock

func (GildedBlackstone) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (GildedBlackstone) EncodeItem

func (GildedBlackstone) EncodeItem() (name string, meta int16)

EncodeItem ...

func (GildedBlackstone) Hash

func (GildedBlackstone) Hash() uint64

func (GildedBlackstone) Model

func (GildedBlackstone) Model() world.BlockModel

Model ...

type Glass

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

Glass is a decorative, fully transparent solid block that can be dyed into stained-glass.

func (Glass) BreakInfo

func (g Glass) BreakInfo() BreakInfo

BreakInfo ...

func (Glass) EncodeBlock

func (Glass) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Glass) EncodeItem

func (Glass) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Glass) Hash

func (Glass) Hash() uint64

func (Glass) Instrument

func (Glass) Instrument() sound.Instrument

Instrument ...

func (Glass) LightDiffusionLevel

func (Glass) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Glass) Model

func (Glass) Model() world.BlockModel

Model ...

type GlassPane

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

GlassPane is a transparent block that can be used as a more efficient alternative to glass blocks.

func (GlassPane) BreakInfo

func (p GlassPane) BreakInfo() BreakInfo

BreakInfo ...

func (GlassPane) CanDisplace

func (p GlassPane) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (GlassPane) EncodeBlock

func (GlassPane) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (GlassPane) EncodeItem

func (GlassPane) EncodeItem() (name string, meta int16)

EncodeItem ...

func (GlassPane) Hash

func (GlassPane) Hash() uint64

func (GlassPane) Instrument

func (GlassPane) Instrument() sound.Instrument

Instrument ...

func (GlassPane) LightDiffusionLevel

func (GlassPane) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (GlassPane) Model

func (GlassPane) Model() world.BlockModel

Model ...

func (GlassPane) SideClosed

func (p GlassPane) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

type GlazedTerracotta

type GlazedTerracotta struct {

	// Colour specifies the colour of the block.
	Colour item.Colour
	// Facing specifies the face of the block.
	Facing cube.Direction
	// contains filtered or unexported fields
}

GlazedTerracotta is a vibrant solid block that comes in the 16 regular dye colours.

func (GlazedTerracotta) BreakInfo

func (t GlazedTerracotta) BreakInfo() BreakInfo

BreakInfo ...

func (GlazedTerracotta) EncodeBlock

func (t GlazedTerracotta) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (GlazedTerracotta) EncodeItem

func (t GlazedTerracotta) EncodeItem() (name string, meta int16)

EncodeItem ...

func (GlazedTerracotta) Hash

func (t GlazedTerracotta) Hash() uint64

func (GlazedTerracotta) Instrument

func (GlazedTerracotta) Instrument() sound.Instrument

Instrument ...

func (GlazedTerracotta) Model

func (GlazedTerracotta) Model() world.BlockModel

Model ...

func (GlazedTerracotta) UseOnBlock

func (t GlazedTerracotta) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ensures the proper facing is used when placing a glazed terracotta block, by using the opposite of the player.

type Glowstone

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

Glowstone is commonly found on the ceiling of the nether dimension.

func (Glowstone) BreakInfo

func (g Glowstone) BreakInfo() BreakInfo

BreakInfo ...

func (Glowstone) EncodeBlock

func (Glowstone) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Glowstone) EncodeItem

func (Glowstone) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Glowstone) Hash

func (Glowstone) Hash() uint64

func (Glowstone) Instrument

func (g Glowstone) Instrument() sound.Instrument

Instrument ...

func (Glowstone) LightEmissionLevel

func (Glowstone) LightEmissionLevel() uint8

LightEmissionLevel returns 15.

func (Glowstone) Model

func (Glowstone) Model() world.BlockModel

Model ...

type GoldBlock

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

GoldBlock is a precious metal block crafted from 9 gold ingots.

func (GoldBlock) BreakInfo

func (g GoldBlock) BreakInfo() BreakInfo

BreakInfo ...

func (GoldBlock) EncodeBlock

func (GoldBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (GoldBlock) EncodeItem

func (GoldBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (GoldBlock) Hash

func (GoldBlock) Hash() uint64

func (GoldBlock) Instrument

func (g GoldBlock) Instrument() sound.Instrument

Instrument ...

func (GoldBlock) Model

func (GoldBlock) Model() world.BlockModel

Model ...

func (GoldBlock) PowersBeacon

func (GoldBlock) PowersBeacon() bool

PowersBeacon ...

type GoldOre

type GoldOre struct {

	// Type is the type of gold ore.
	Type OreType
	// contains filtered or unexported fields
}

GoldOre is a rare mineral block found underground.

func (GoldOre) BreakInfo

func (g GoldOre) BreakInfo() BreakInfo

BreakInfo ...

func (GoldOre) EncodeBlock

func (g GoldOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (GoldOre) EncodeItem

func (g GoldOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (GoldOre) Hash

func (g GoldOre) Hash() uint64

func (GoldOre) Instrument

func (GoldOre) Instrument() sound.Instrument

Instrument ...

func (GoldOre) Model

func (GoldOre) Model() world.BlockModel

Model ...

type Granite

type Granite polishable

Granite is a type of igneous rock.

func (Granite) BreakInfo

func (g Granite) BreakInfo() BreakInfo

BreakInfo ...

func (Granite) EncodeBlock

func (g Granite) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Granite) EncodeItem

func (g Granite) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Granite) Hash

func (g Granite) Hash() uint64

type Grass

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

Grass blocks generate abundantly across the surface of the world.

func (Grass) BoneMeal added in v0.4.0

func (g Grass) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (Grass) BreakInfo

func (g Grass) BreakInfo() BreakInfo

BreakInfo ...

func (Grass) EncodeBlock

func (Grass) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Grass) EncodeItem

func (Grass) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Grass) Hash

func (Grass) Hash() uint64

func (Grass) Model

func (Grass) Model() world.BlockModel

Model ...

func (Grass) RandomTick

func (g Grass) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick handles the ticking of grass, which may or may not result in the spreading of grass onto dirt.

func (Grass) Shovel

func (g Grass) Shovel() (world.Block, bool)

Shovel ...

func (Grass) SoilFor added in v0.1.0

func (g Grass) SoilFor(block world.Block) bool

SoilFor ...

func (Grass) Till

func (g Grass) Till() (world.Block, bool)

Till ...

type GrassType added in v0.1.0

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

GrassType represents a grass plant, which can be placed on top of grass blocks.

func Fern added in v0.1.0

func Fern() GrassType

Fern returns the fern variant of grass.

func GrassTypes added in v0.1.0

func GrassTypes() []GrassType

GrassTypes returns all variants of grass.

func NormalGrass added in v0.1.0

func NormalGrass() GrassType

NormalGrass returns the grass variant of grass.

func (GrassType) Name added in v0.1.0

func (g GrassType) Name() string

Name returns the grass's display name.

func (GrassType) String added in v0.1.0

func (g GrassType) String() string

String ...

func (GrassType) Uint8 added in v0.1.0

func (g GrassType) Uint8() uint8

Uint8 converts the grass to an integer that uniquely identifies its type.

type Gravel

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

Gravel is a block affected by gravity. It has a 10% chance of dropping flint instead of itself on break.

func (Gravel) BreakInfo

func (g Gravel) BreakInfo() BreakInfo

BreakInfo ...

func (Gravel) EncodeBlock

func (Gravel) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Gravel) EncodeItem

func (Gravel) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Gravel) Hash

func (Gravel) Hash() uint64

func (Gravel) Instrument

func (Gravel) Instrument() sound.Instrument

Instrument ...

func (Gravel) Model

func (Gravel) Model() world.BlockModel

Model ...

func (Gravel) NeighbourUpdateTick

func (g Gravel) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Gravel) Solidifies

func (g Gravel) Solidifies(cube.Pos, *world.World) bool

Solidifies ...

type HoneycombBlock added in v0.1.0

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

HoneycombBlock is a decorative blocks crafted from honeycombs.

func (HoneycombBlock) BreakInfo added in v0.1.0

func (h HoneycombBlock) BreakInfo() BreakInfo

BreakInfo ...

func (HoneycombBlock) EncodeBlock added in v0.1.0

func (HoneycombBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (HoneycombBlock) EncodeItem added in v0.1.0

func (HoneycombBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (HoneycombBlock) Hash added in v0.1.0

func (HoneycombBlock) Hash() uint64

func (HoneycombBlock) Instrument added in v0.1.0

func (h HoneycombBlock) Instrument() sound.Instrument

Instrument ...

func (HoneycombBlock) Model added in v0.1.0

func (HoneycombBlock) Model() world.BlockModel

Model ...

type InvisibleBedrock

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

InvisibleBedrock is an indestructible, solid block, similar to bedrock and has the appearance of air. It shares many of its properties with barriers.

func (InvisibleBedrock) EncodeBlock

func (InvisibleBedrock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (InvisibleBedrock) EncodeItem

func (InvisibleBedrock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (InvisibleBedrock) Hash

func (InvisibleBedrock) Hash() uint64

func (InvisibleBedrock) LightDiffusionLevel

func (InvisibleBedrock) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (InvisibleBedrock) Model

func (InvisibleBedrock) Model() world.BlockModel

Model ...

type IronBars

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

IronBars are blocks that serve a similar purpose to glass panes, but made of iron instead of glass.

func (IronBars) BreakInfo

func (i IronBars) BreakInfo() BreakInfo

BreakInfo ...

func (IronBars) CanDisplace

func (i IronBars) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (IronBars) EncodeBlock

func (IronBars) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (IronBars) EncodeItem

func (IronBars) EncodeItem() (name string, meta int16)

EncodeItem ...

func (IronBars) Hash

func (IronBars) Hash() uint64

func (IronBars) LightDiffusionLevel

func (IronBars) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (IronBars) Model

func (IronBars) Model() world.BlockModel

Model ...

func (IronBars) SideClosed

func (i IronBars) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

type IronBlock

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

IronBlock is a precious metal block made from 9 iron ingots.

func (IronBlock) BreakInfo

func (i IronBlock) BreakInfo() BreakInfo

BreakInfo ...

func (IronBlock) EncodeBlock

func (IronBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (IronBlock) EncodeItem

func (IronBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (IronBlock) Hash

func (IronBlock) Hash() uint64

func (IronBlock) Instrument

func (i IronBlock) Instrument() sound.Instrument

Instrument ...

func (IronBlock) Model

func (IronBlock) Model() world.BlockModel

Model ...

func (IronBlock) PowersBeacon

func (IronBlock) PowersBeacon() bool

PowersBeacon ...

type IronOre

type IronOre struct {

	// Type is the type of iron ore.
	Type OreType
	// contains filtered or unexported fields
}

IronOre is a mineral block found underground.

func (IronOre) BreakInfo

func (i IronOre) BreakInfo() BreakInfo

BreakInfo ...

func (IronOre) EncodeBlock

func (i IronOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (IronOre) EncodeItem

func (i IronOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (IronOre) Hash

func (i IronOre) Hash() uint64

func (IronOre) Instrument

func (IronOre) Instrument() sound.Instrument

Instrument ...

func (IronOre) Model

func (IronOre) Model() world.BlockModel

Model ...

type ItemFrame added in v0.5.0

type ItemFrame struct {

	// Facing is the direction from the frame to the block.
	Facing cube.Face
	// Item is the item that is displayed inside the frame.
	Item item.Stack
	// Rotations is the number of rotations for the item in the frame. Each rotation is 45 degrees, with the exception
	// being maps having 90 degree rotations.
	Rotations int
	// DropChance is the chance of the item dropping when the frame is broken. In vanilla, this is always 1.0.
	DropChance float64
	// Glowing makes the frame the glowing variant.
	Glowing bool
	// contains filtered or unexported fields
}

ItemFrame is a block entity that displays the item or block that is inside it.

func (ItemFrame) Activate added in v0.5.0

func (i ItemFrame) Activate(pos cube.Pos, _ cube.Face, w *world.World, u item.User) bool

Activate ...

func (ItemFrame) BreakInfo added in v0.5.0

func (i ItemFrame) BreakInfo() BreakInfo

BreakInfo ...

func (ItemFrame) CanDisplace added in v0.5.0

func (ItemFrame) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (ItemFrame) DecodeNBT added in v0.5.0

func (i ItemFrame) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (ItemFrame) EncodeBlock added in v0.5.0

func (i ItemFrame) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (ItemFrame) EncodeItem added in v0.5.0

func (i ItemFrame) EncodeItem() (name string, meta int16)

EncodeItem ...

func (ItemFrame) EncodeNBT added in v0.5.0

func (i ItemFrame) EncodeNBT() map[string]any

EncodeNBT ...

func (ItemFrame) Hash added in v0.5.0

func (i ItemFrame) Hash() uint64

func (ItemFrame) LightDiffusionLevel added in v0.5.0

func (ItemFrame) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (ItemFrame) Model added in v0.5.0

func (ItemFrame) Model() world.BlockModel

Model ...

func (ItemFrame) NeighbourUpdateTick added in v0.5.0

func (i ItemFrame) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (ItemFrame) Pick added in v0.5.0

func (i ItemFrame) Pick() item.Stack

Pick returns the item that is picked when the block is picked.

func (ItemFrame) Punch added in v0.5.0

func (i ItemFrame) Punch(pos cube.Pos, _ cube.Face, w *world.World, u item.User)

Punch ...

func (ItemFrame) SideClosed added in v0.5.0

func (ItemFrame) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (ItemFrame) UseOnBlock added in v0.5.0

func (i ItemFrame) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Kelp

type Kelp struct {

	// Age is the age of the kelp block which can be 0-25. If age is 25, kelp won't grow any further.
	Age int
	// contains filtered or unexported fields
}

Kelp is an underwater block which can grow on top of solids underwater.

func (Kelp) BoneMeal

func (k Kelp) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (Kelp) BreakInfo

func (k Kelp) BreakInfo() BreakInfo

BreakInfo ...

func (Kelp) CanDisplace

func (Kelp) CanDisplace(b world.Liquid) bool

CanDisplace will return true if the liquid is Water, since kelp can waterlog.

func (Kelp) EncodeBlock

func (k Kelp) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Kelp) EncodeItem

func (Kelp) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Kelp) Hash

func (k Kelp) Hash() uint64

func (Kelp) LightDiffusionLevel

func (Kelp) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Kelp) Model

func (Kelp) Model() world.BlockModel

Model ...

func (Kelp) NeighbourUpdateTick

func (k Kelp) NeighbourUpdateTick(pos, changed cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Kelp) RandomTick

func (k Kelp) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (Kelp) SideClosed

func (Kelp) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed will always return false since kelp doesn't close any side.

func (Kelp) UseOnBlock

func (k Kelp) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type Ladder added in v0.2.0

type Ladder struct {

	// Facing is the side of the block the ladder is currently attached to.
	Facing cube.Direction
	// contains filtered or unexported fields
}

Ladder is a wooden block used for climbing walls either vertically or horizontally. They can be placed only on the sides of other blocks.

func (Ladder) BreakInfo added in v0.2.0

func (l Ladder) BreakInfo() BreakInfo

BreakInfo ...

func (Ladder) CanDisplace added in v0.2.0

func (l Ladder) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Ladder) EncodeBlock added in v0.2.0

func (l Ladder) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Ladder) EncodeItem added in v0.2.0

func (l Ladder) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Ladder) EntityInside added in v0.4.0

func (l Ladder) EntityInside(_ cube.Pos, _ *world.World, e world.Entity)

EntityInside ...

func (Ladder) Hash added in v0.2.0

func (l Ladder) Hash() uint64

func (Ladder) LightDiffusionLevel added in v0.2.0

func (Ladder) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Ladder) Model added in v0.2.0

func (l Ladder) Model() world.BlockModel

Model ...

func (Ladder) NeighbourUpdateTick added in v0.2.0

func (l Ladder) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Ladder) SideClosed added in v0.2.0

func (l Ladder) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Ladder) UseOnBlock added in v0.2.0

func (l Ladder) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Lantern

type Lantern struct {

	// Hanging determines if a lantern is hanging off a block.
	Hanging bool
	// Type of fire lighting the lantern.
	Type FireType
	// contains filtered or unexported fields
}

Lantern is a light emitting block.

func (Lantern) BreakInfo

func (l Lantern) BreakInfo() BreakInfo

BreakInfo ...

func (Lantern) CanDisplace

func (l Lantern) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Lantern) EncodeBlock

func (l Lantern) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Lantern) EncodeItem

func (l Lantern) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Lantern) Hash

func (l Lantern) Hash() uint64

func (Lantern) LightDiffusionLevel

func (Lantern) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Lantern) LightEmissionLevel

func (l Lantern) LightEmissionLevel() uint8

LightEmissionLevel ...

func (Lantern) Model

func (l Lantern) Model() world.BlockModel

Model ...

func (Lantern) NeighbourUpdateTick

func (l Lantern) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Lantern) SideClosed

func (l Lantern) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Lantern) UseOnBlock

func (l Lantern) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type LapisBlock

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

LapisBlock is a decorative mineral block that is crafted from lapis lazuli.

func (LapisBlock) BreakInfo

func (l LapisBlock) BreakInfo() BreakInfo

BreakInfo ...

func (LapisBlock) EncodeBlock

func (LapisBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (LapisBlock) EncodeItem

func (LapisBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (LapisBlock) Hash

func (LapisBlock) Hash() uint64

func (LapisBlock) Model

func (LapisBlock) Model() world.BlockModel

Model ...

type LapisOre

type LapisOre struct {

	// Type is the type of lapis ore.
	Type OreType
	// contains filtered or unexported fields
}

LapisOre is an ore block from which lapis lazuli is obtained.

func (LapisOre) BreakInfo

func (l LapisOre) BreakInfo() BreakInfo

BreakInfo ...

func (LapisOre) EncodeBlock

func (l LapisOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (LapisOre) EncodeItem

func (l LapisOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (LapisOre) Hash

func (l LapisOre) Hash() uint64

func (LapisOre) Instrument

func (LapisOre) Instrument() sound.Instrument

Instrument ...

func (LapisOre) Model

func (LapisOre) Model() world.BlockModel

Model ...

type Lava

type Lava struct {

	// Still makes the lava not spread whenever it is updated. Still lava cannot be acquired in the game
	// without world editing.
	Still bool
	// Depth is the depth of the water. This is a number from 1-8, where 8 is a source block and 1 is the
	// smallest possible lava block.
	Depth int
	// Falling specifies if the lava is falling. Falling lava will always appear as a source block, but its
	// behaviour differs when it starts spreading.
	Falling bool
	// contains filtered or unexported fields
}

Lava is a light-emitting fluid block that causes fire damage.

func (Lava) EncodeBlock

func (l Lava) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Lava) EntityInside added in v0.4.0

func (l Lava) EntityInside(_ cube.Pos, _ *world.World, e world.Entity)

EntityInside ...

func (Lava) Harden

func (l Lava) Harden(pos cube.Pos, w *world.World, flownIntoBy *cube.Pos) bool

Harden handles the hardening logic of lava.

func (Lava) HasLiquidDrops

func (Lava) HasLiquidDrops() bool

HasLiquidDrops ...

func (Lava) Hash

func (l Lava) Hash() uint64

func (Lava) LightDiffusionLevel

func (Lava) LightDiffusionLevel() uint8

LightDiffusionLevel always returns 2.

func (Lava) LightEmissionLevel

func (Lava) LightEmissionLevel() uint8

LightEmissionLevel returns 15.

func (Lava) LiquidDepth

func (l Lava) LiquidDepth() int

LiquidDepth returns the depth of the lava.

func (Lava) LiquidFalling

func (l Lava) LiquidFalling() bool

LiquidFalling checks if the lava is falling.

func (Lava) LiquidType

func (Lava) LiquidType() string

LiquidType returns 10 as a unique identifier for the lava liquid.

func (Lava) Model

func (Lava) Model() world.BlockModel

Model ...

func (Lava) NeighbourUpdateTick

func (l Lava) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Lava) RandomTick

func (l Lava) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (Lava) ReplaceableBy

func (Lava) ReplaceableBy(world.Block) bool

ReplaceableBy ...

func (Lava) ScheduledTick

func (l Lava) ScheduledTick(pos cube.Pos, w *world.World, _ *rand.Rand)

ScheduledTick ...

func (Lava) SpreadDecay

func (Lava) SpreadDecay() int

SpreadDecay always returns 2.

func (Lava) WithDepth

func (l Lava) WithDepth(depth int, falling bool) world.Liquid

WithDepth returns a new Lava block with the depth passed and falling if set to true.

type Leaves

type Leaves struct {

	// Wood is the type of wood of the leaves. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// Persistent specifies if the leaves are persistent, meaning they will not decay as a result of no wood
	// being nearby.
	Persistent bool

	ShouldUpdate bool
	// contains filtered or unexported fields
}

Leaves are blocks that grow as part of trees which mainly drop saplings and sticks.

func (Leaves) BreakInfo

func (l Leaves) BreakInfo() BreakInfo

BreakInfo ...

func (Leaves) CanDisplace

func (Leaves) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (Leaves) EncodeBlock

func (l Leaves) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Leaves) EncodeItem

func (l Leaves) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Leaves) FlammabilityInfo

func (l Leaves) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Leaves) Hash

func (l Leaves) Hash() uint64

func (Leaves) LightDiffusionLevel

func (Leaves) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Leaves) Model

func (Leaves) Model() world.BlockModel

Model ...

func (Leaves) NeighbourUpdateTick

func (l Leaves) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Leaves) RandomTick

func (l Leaves) RandomTick(pos cube.Pos, w *world.World, _ *rand.Rand)

RandomTick ...

func (Leaves) SideClosed

func (Leaves) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Leaves) UseOnBlock added in v0.3.0

func (l Leaves) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock makes leaves persistent when they are placed so that they don't decay.

type Light

type Light struct {

	// Level is the light level that the light block produces. It is a number from 0-15, where 15 is the
	// brightest and 0 is no light at all.
	Level int
	// contains filtered or unexported fields
}

Light is an invisible block that can produce any light level.

func (Light) EncodeBlock

func (l Light) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Light) EncodeItem

func (l Light) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Light) Hash

func (l Light) Hash() uint64

func (Light) LightDiffusionLevel

func (Light) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Light) LightEmissionLevel

func (l Light) LightEmissionLevel() uint8

LightEmissionLevel ...

func (Light) Model

func (Light) Model() world.BlockModel

Model ...

func (Light) ReplaceableBy

func (Light) ReplaceableBy(world.Block) bool

ReplaceableBy ...

type LightDiffuser

type LightDiffuser interface {
	// LightDiffusionLevel returns the amount of light levels that is subtracted when light passes through
	// this block. Some blocks, such as leaves, have this behaviour. A diffusion level of 15 means that all
	// light will be completely blocked when it passes through the block.
	LightDiffusionLevel() uint8
}

LightDiffuser represents a block that diffuses light. This means that a specific amount of light levels will be subtracted when light passes through the block. Blocks that do not implement LightDiffuser will be assumed to be solid: Light will not be able to pass through these blocks.

type LightEmitter

type LightEmitter interface {
	// LightEmissionLevel returns the light emission level of the block, a number from 0-15 where 15 is the
	// brightest and 0 means it doesn't emit light at all.
	LightEmissionLevel() uint8
}

LightEmitter represents a block that emits light when placed. Blocks such as torches or lanterns implement this interface.

type LiquidRemovable

type LiquidRemovable interface {
	HasLiquidDrops() bool
}

LiquidRemovable represents a block that may be removed by a liquid flowing into it. When this happens, the block's drops are dropped at the position if HasLiquidDrops returns true.

type LitPumpkin

type LitPumpkin struct {

	// Facing is the direction the pumpkin is facing.
	Facing cube.Direction
	// contains filtered or unexported fields
}

LitPumpkin is a decorative light emitting block crafted with a Carved Pumpkin & Torch

func (LitPumpkin) BreakInfo

func (l LitPumpkin) BreakInfo() BreakInfo

BreakInfo ...

func (LitPumpkin) EncodeBlock

func (l LitPumpkin) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (LitPumpkin) EncodeItem

func (l LitPumpkin) EncodeItem() (name string, meta int16)

EncodeItem ...

func (LitPumpkin) Hash

func (l LitPumpkin) Hash() uint64

func (LitPumpkin) LightEmissionLevel

func (l LitPumpkin) LightEmissionLevel() uint8

LightEmissionLevel ...

func (LitPumpkin) Model

func (LitPumpkin) Model() world.BlockModel

Model ...

func (LitPumpkin) UseOnBlock

func (l LitPumpkin) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type Log

type Log struct {

	// Wood is the type of wood of the log. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// Stripped specifies if the log is stripped or not.
	Stripped bool
	// Axis is the axis which the log block faces.
	Axis cube.Axis
	// contains filtered or unexported fields
}

Log is a naturally occurring block found in trees, primarily used to create planks. It comes in six species: oak, spruce, birch, jungle, acacia, and dark oak. Stripped log is a variant obtained by using an axe on a log.

func (Log) BreakInfo

func (l Log) BreakInfo() BreakInfo

BreakInfo ...

func (Log) EncodeBlock

func (l Log) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Log) EncodeItem

func (l Log) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Log) FlammabilityInfo

func (l Log) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Log) Hash

func (l Log) Hash() uint64

func (Log) Instrument

func (Log) Instrument() sound.Instrument

Instrument ...

func (Log) Model

func (Log) Model() world.BlockModel

Model ...

func (Log) Strip

func (l Log) Strip() (world.Block, bool)

Strip ...

func (Log) UseOnBlock

func (l Log) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles the rotational placing of logs.

type Melon

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

Melon is a fruit block that grows from melon stems.

func (Melon) BreakInfo

func (m Melon) BreakInfo() BreakInfo

BreakInfo ...

func (Melon) EncodeBlock

func (Melon) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Melon) EncodeItem

func (Melon) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Melon) Hash

func (Melon) Hash() uint64

func (Melon) Model

func (Melon) Model() world.BlockModel

Model ...

type MelonSeeds

type MelonSeeds struct {

	// direction is the direction from the stem to the melon.
	Direction cube.Face
	// contains filtered or unexported fields
}

MelonSeeds grow melon blocks.

func (MelonSeeds) BoneMeal

func (m MelonSeeds) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (MelonSeeds) BreakInfo

func (m MelonSeeds) BreakInfo() BreakInfo

BreakInfo ...

func (MelonSeeds) CalculateGrowthChance

func (c MelonSeeds) CalculateGrowthChance(pos cube.Pos, w *world.World) float64

CalculateGrowthChance calculates the chance the crop will grow during a random tick.

func (MelonSeeds) EncodeBlock

func (m MelonSeeds) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (MelonSeeds) EncodeItem

func (m MelonSeeds) EncodeItem() (name string, meta int16)

EncodeItem ...

func (MelonSeeds) GrowthStage

func (c MelonSeeds) GrowthStage() int

GrowthStage returns the current stage of growth.

func (MelonSeeds) HasLiquidDrops

func (c MelonSeeds) HasLiquidDrops() bool

HasLiquidDrops ...

func (MelonSeeds) Hash

func (m MelonSeeds) Hash() uint64

func (MelonSeeds) NeighbourUpdateTick

func (m MelonSeeds) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (MelonSeeds) RandomTick

func (m MelonSeeds) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (MelonSeeds) SameCrop

func (MelonSeeds) SameCrop(c Crop) bool

SameCrop ...

func (MelonSeeds) UseOnBlock

func (m MelonSeeds) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type MossCarpet added in v0.1.0

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

MossCarpet is a thin decorative variant of the moss block.

func (MossCarpet) BreakInfo added in v0.1.0

func (m MossCarpet) BreakInfo() BreakInfo

BreakInfo ...

func (MossCarpet) CanDisplace added in v0.1.0

func (MossCarpet) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (MossCarpet) EncodeBlock added in v0.1.0

func (m MossCarpet) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (MossCarpet) EncodeItem added in v0.1.0

func (m MossCarpet) EncodeItem() (name string, meta int16)

EncodeItem ...

func (MossCarpet) HasLiquidDrops added in v0.1.0

func (MossCarpet) HasLiquidDrops() bool

HasLiquidDrops ...

func (MossCarpet) Hash added in v0.1.0

func (MossCarpet) Hash() uint64

func (MossCarpet) LightDiffusionLevel added in v0.1.0

func (MossCarpet) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (MossCarpet) Model added in v0.1.0

func (MossCarpet) Model() world.BlockModel

Model ...

func (MossCarpet) NeighbourUpdateTick added in v0.1.0

func (MossCarpet) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (MossCarpet) SideClosed added in v0.1.0

func (MossCarpet) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (MossCarpet) UseOnBlock added in v0.1.0

func (m MossCarpet) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type NetherBrickFence

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

NetherBrickFence is the nether brick variant of the fence block.

func (NetherBrickFence) BreakInfo

func (n NetherBrickFence) BreakInfo() BreakInfo

BreakInfo ...

func (NetherBrickFence) CanDisplace

func (NetherBrickFence) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (NetherBrickFence) EncodeBlock

func (NetherBrickFence) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (NetherBrickFence) EncodeItem

func (NetherBrickFence) EncodeItem() (name string, meta int16)

EncodeItem ...

func (NetherBrickFence) Hash

func (NetherBrickFence) Hash() uint64

func (NetherBrickFence) LightDiffusionLevel

func (NetherBrickFence) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (NetherBrickFence) Model

func (n NetherBrickFence) Model() world.BlockModel

Model ...

func (NetherBrickFence) SideClosed

func (NetherBrickFence) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

type NetherBricks added in v0.6.0

type NetherBricks struct {

	// NetherBricksType is the type of nether bricks of the block.
	Type NetherBricksType
	// contains filtered or unexported fields
}

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.

func (NetherBricks) BreakInfo added in v0.6.0

func (n NetherBricks) BreakInfo() BreakInfo

BreakInfo ...

func (NetherBricks) EncodeBlock added in v0.6.0

func (n NetherBricks) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (NetherBricks) EncodeItem added in v0.6.0

func (n NetherBricks) EncodeItem() (id string, meta int16)

EncodeItem ...

func (NetherBricks) Hash added in v0.6.0

func (n NetherBricks) Hash() uint64

func (NetherBricks) Instrument added in v0.6.0

func (NetherBricks) Instrument() sound.Instrument

Instrument ...

func (NetherBricks) Model added in v0.6.0

func (NetherBricks) Model() world.BlockModel

Model ...

type NetherBricksType added in v0.6.0

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

NetherBricksType represents a type of nether bricks.

func ChiseledNetherBricks added in v0.6.0

func ChiseledNetherBricks() NetherBricksType

ChiseledNetherBricks is the chiseled variant of the nether bricks.

func CrackedNetherBricks added in v0.6.0

func CrackedNetherBricks() NetherBricksType

CrackedNetherBricks is the cracked variant of the nether bricks.

func NetherBricksTypes added in v0.6.0

func NetherBricksTypes() []NetherBricksType

NetherBricksTypes returns all nether bricks types.

func NormalNetherBricks added in v0.6.0

func NormalNetherBricks() NetherBricksType

NormalNetherBricks is the normal variant of the nether bricks.

func RedNetherBricks added in v0.6.0

func RedNetherBricks() NetherBricksType

RedNetherBricks is the red variant of the nether bricks.

func (NetherBricksType) Name added in v0.6.0

func (n NetherBricksType) Name() string

Name ...

func (NetherBricksType) String added in v0.6.0

func (n NetherBricksType) String() string

String ...

func (NetherBricksType) Uint8 added in v0.6.0

func (n NetherBricksType) Uint8() uint8

Uint8 returns the nether bricks as a unit8.

type NetherGoldOre

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

NetherGoldOre is a variant of gold ore found exclusively in The Nether.

func (NetherGoldOre) BreakInfo

func (n NetherGoldOre) BreakInfo() BreakInfo

BreakInfo ...

func (NetherGoldOre) EncodeBlock

func (NetherGoldOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (NetherGoldOre) EncodeItem

func (NetherGoldOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (NetherGoldOre) Hash

func (NetherGoldOre) Hash() uint64

func (NetherGoldOre) Model

func (NetherGoldOre) Model() world.BlockModel

Model ...

type NetherQuartzOre

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

NetherQuartzOre is ore found in the Nether.

func (NetherQuartzOre) BreakInfo

func (q NetherQuartzOre) BreakInfo() BreakInfo

BreakInfo ...

func (NetherQuartzOre) EncodeBlock

func (NetherQuartzOre) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (NetherQuartzOre) EncodeItem

func (NetherQuartzOre) EncodeItem() (name string, meta int16)

EncodeItem ...

func (NetherQuartzOre) Hash

func (NetherQuartzOre) Hash() uint64

func (NetherQuartzOre) Instrument

func (NetherQuartzOre) Instrument() sound.Instrument

Instrument ...

func (NetherQuartzOre) Model

func (NetherQuartzOre) Model() world.BlockModel

Model ...

type NetherSprouts added in v0.1.0

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

NetherSprouts are a non-solid plant block that generate in warped forests.

func (NetherSprouts) BreakInfo added in v0.1.0

func (n NetherSprouts) BreakInfo() BreakInfo

BreakInfo ...

func (NetherSprouts) EncodeBlock added in v0.1.0

func (n NetherSprouts) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (NetherSprouts) EncodeItem added in v0.1.0

func (n NetherSprouts) EncodeItem() (name string, meta int16)

EncodeItem ...

func (NetherSprouts) FlammabilityInfo added in v0.1.0

func (n NetherSprouts) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (NetherSprouts) HasLiquidDrops added in v0.1.0

func (n NetherSprouts) HasLiquidDrops() bool

HasLiquidDrops ...

func (NetherSprouts) Hash added in v0.1.0

func (NetherSprouts) Hash() uint64

func (NetherSprouts) LightDiffusionLevel added in v0.1.0

func (NetherSprouts) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (NetherSprouts) Model added in v0.1.0

func (NetherSprouts) Model() world.BlockModel

Model ...

func (NetherSprouts) NeighbourUpdateTick added in v0.1.0

func (n NetherSprouts) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (NetherSprouts) ReplaceableBy added in v0.1.0

func (NetherSprouts) ReplaceableBy(world.Block) bool

ReplaceableBy ...

func (NetherSprouts) UseOnBlock added in v0.1.0

func (n NetherSprouts) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type NetherWart

type NetherWart struct {

	// Age is the age of the nether wart block. 3 is fully grown.
	Age int
	// contains filtered or unexported fields
}

NetherWart is a fungus found in the Nether that is vital in the creation of potions.

func (NetherWart) BreakInfo

func (n NetherWart) BreakInfo() BreakInfo

BreakInfo ...

func (NetherWart) EncodeBlock

func (n NetherWart) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (NetherWart) EncodeItem

func (NetherWart) EncodeItem() (name string, meta int16)

EncodeItem ...

func (NetherWart) HasLiquidDrops

func (n NetherWart) HasLiquidDrops() bool

HasLiquidDrops ...

func (NetherWart) Hash

func (n NetherWart) Hash() uint64

func (NetherWart) LightDiffusionLevel

func (NetherWart) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (NetherWart) Model

func (NetherWart) Model() world.BlockModel

Model ...

func (NetherWart) NeighbourUpdateTick

func (n NetherWart) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (NetherWart) RandomTick

func (n NetherWart) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (NetherWart) UseOnBlock

func (n NetherWart) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type NetheriteBlock

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

NetheriteBlock is a precious mineral block made from 9 netherite ingots.

func (NetheriteBlock) BreakInfo

func (n NetheriteBlock) BreakInfo() BreakInfo

BreakInfo ...

func (NetheriteBlock) EncodeBlock

func (NetheriteBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (NetheriteBlock) EncodeItem

func (NetheriteBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (NetheriteBlock) Hash

func (NetheriteBlock) Hash() uint64

func (NetheriteBlock) Instrument

func (NetheriteBlock) Instrument() sound.Instrument

Instrument ...

func (NetheriteBlock) Model

func (NetheriteBlock) Model() world.BlockModel

Model ...

func (NetheriteBlock) PowersBeacon

func (NetheriteBlock) PowersBeacon() bool

PowersBeacon ...

type Netherrack

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

Netherrack is a block found in The Nether.

func (Netherrack) BreakInfo

func (n Netherrack) BreakInfo() BreakInfo

BreakInfo ...

func (Netherrack) EncodeBlock

func (Netherrack) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Netherrack) EncodeItem

func (Netherrack) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Netherrack) Hash

func (Netherrack) Hash() uint64

func (Netherrack) Instrument

func (Netherrack) Instrument() sound.Instrument

Instrument ...

func (Netherrack) Model

func (Netherrack) Model() world.BlockModel

Model ...

func (Netherrack) SoilFor added in v0.1.0

func (n Netherrack) SoilFor(block world.Block) bool

SoilFor ...

type NoteBlock

type NoteBlock struct {

	// Pitch is the current pitch the note block is set to. Value ranges from 0-24.
	Pitch int
	// contains filtered or unexported fields
}

NoteBlock is a musical block that emits sounds when powered with redstone.

func (NoteBlock) Activate

func (n NoteBlock) Activate(pos cube.Pos, _ cube.Face, w *world.World, _ item.User) bool

Activate ...

func (NoteBlock) BreakInfo

func (n NoteBlock) BreakInfo() BreakInfo

BreakInfo ...

func (NoteBlock) DecodeNBT

func (n NoteBlock) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (NoteBlock) EncodeBlock

func (n NoteBlock) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (NoteBlock) EncodeItem

func (n NoteBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (NoteBlock) EncodeNBT

func (n NoteBlock) EncodeNBT() map[string]any

EncodeNBT ...

func (NoteBlock) Hash

func (NoteBlock) Hash() uint64

func (NoteBlock) Instrument

func (NoteBlock) Instrument() sound.Instrument

Instrument ...

func (NoteBlock) Model

func (NoteBlock) Model() world.BlockModel

Model ...

func (NoteBlock) Punch

func (n NoteBlock) Punch(pos cube.Pos, _ cube.Face, w *world.World, _ item.User)

Punch ...

type Obsidian

type Obsidian struct {

	// Crying specifies if the block is a crying obsidian block. If true, the block is blue and emits light.
	Crying bool
	// contains filtered or unexported fields
}

Obsidian is a dark purple block known for its high blast resistance and strength, most commonly found when water flows over lava.

func (Obsidian) BreakInfo

func (o Obsidian) BreakInfo() BreakInfo

BreakInfo ...

func (Obsidian) EncodeBlock

func (o Obsidian) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Obsidian) EncodeItem

func (o Obsidian) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Obsidian) Hash

func (o Obsidian) Hash() uint64

func (Obsidian) Instrument

func (Obsidian) Instrument() sound.Instrument

Instrument ...

func (Obsidian) LightEmissionLevel

func (o Obsidian) LightEmissionLevel() uint8

LightEmissionLevel ...

func (Obsidian) Model

func (Obsidian) Model() world.BlockModel

Model ...

type OpenAction added in v0.6.0

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

OpenAction is a world.BlockAction to open a block at a position. It is sent for blocks such as chests.

func (OpenAction) BlockAction added in v0.6.0

func (OpenAction) BlockAction()

BlockAction serves to implement the world.BlockAction interface.

type OreType added in v0.1.0

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

OreType represents a variant of ore blocks.

func DeepslateOre added in v0.1.0

func DeepslateOre() OreType

DeepslateOre returns the deepslate ore variant.

func OreTypes added in v0.1.0

func OreTypes() []OreType

OreTypes returns a list of all ore types

func StoneOre added in v0.1.0

func StoneOre() OreType

StoneOre returns the stone ore variant.

func (OreType) Hardness added in v0.1.0

func (o OreType) Hardness() float64

Hardness ...

func (OreType) Name added in v0.1.0

func (o OreType) Name() string

Name ...

func (OreType) Prefix added in v0.1.0

func (o OreType) Prefix() string

Prefix ...

func (OreType) String added in v0.1.0

func (o OreType) String() string

String ...

func (OreType) Uint8 added in v0.1.0

func (o OreType) Uint8() uint8

Uint8 returns the ore as a uint8.

type PackedIce added in v0.4.0

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

PackedIce is an opaque solid block variant of ice. Unlike regular ice, it does not melt near bright light sources.

func (PackedIce) BreakInfo added in v0.4.0

func (p PackedIce) BreakInfo() BreakInfo

BreakInfo ...

func (PackedIce) EncodeBlock added in v0.4.0

func (PackedIce) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (PackedIce) EncodeItem added in v0.4.0

func (PackedIce) EncodeItem() (name string, meta int16)

EncodeItem ...

func (PackedIce) Friction added in v0.4.0

func (p PackedIce) Friction() float64

Friction ...

func (PackedIce) Hash added in v0.4.0

func (PackedIce) Hash() uint64

func (PackedIce) Instrument added in v0.4.0

func (PackedIce) Instrument() sound.Instrument

Instrument ...

func (PackedIce) Model added in v0.4.0

func (PackedIce) Model() world.BlockModel

Model ...

type Pickable added in v0.5.0

type Pickable interface {
	// Pick returns the item that is picked when the block is picked.
	Pick() item.Stack
}

Pickable represents a block that may give a different item then the block itself when picked.

type Placer

type Placer interface {
	item.User
	PlaceBlock(pos cube.Pos, b world.Block, ctx *item.UseContext)
}

Placer represents an entity that is able to place a block at a specific position in the world.

type Planks

type Planks struct {

	// Wood is the type of wood of the planks. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// contains filtered or unexported fields
}

Planks are common blocks used in crafting recipes. They are made by crafting logs into planks.

func (Planks) BreakInfo

func (p Planks) BreakInfo() BreakInfo

BreakInfo ...

func (Planks) EncodeBlock

func (p Planks) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Planks) EncodeItem

func (p Planks) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Planks) FlammabilityInfo

func (p Planks) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Planks) Hash

func (p Planks) Hash() uint64

func (Planks) Instrument

func (Planks) Instrument() sound.Instrument

Instrument ...

func (Planks) Model

func (Planks) Model() world.BlockModel

Model ...

type Podzol added in v0.1.0

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

Podzol is a dirt-type block that naturally blankets the surface of the giant tree taiga and bamboo jungles, along with their respective variants.

func (Podzol) BreakInfo added in v0.1.0

func (p Podzol) BreakInfo() BreakInfo

BreakInfo ...

func (Podzol) EncodeBlock added in v0.1.0

func (Podzol) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Podzol) EncodeItem added in v0.1.0

func (Podzol) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Podzol) Hash added in v0.1.0

func (Podzol) Hash() uint64

func (Podzol) Model added in v0.1.0

func (Podzol) Model() world.BlockModel

Model ...

func (Podzol) Shovel added in v0.1.0

func (Podzol) Shovel() (world.Block, bool)

Shovel ...

func (Podzol) SoilFor added in v0.1.0

func (p Podzol) SoilFor(block world.Block) bool

SoilFor ...

type Potato

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

Potato is a crop that can be consumed raw or cooked to make baked potatoes.

func (Potato) AlwaysConsumable

func (p Potato) AlwaysConsumable() bool

AlwaysConsumable ...

func (Potato) BoneMeal

func (p Potato) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (Potato) BreakInfo

func (p Potato) BreakInfo() BreakInfo

BreakInfo ...

func (Potato) CalculateGrowthChance

func (c Potato) CalculateGrowthChance(pos cube.Pos, w *world.World) float64

CalculateGrowthChance calculates the chance the crop will grow during a random tick.

func (Potato) Consume

func (p Potato) Consume(_ *world.World, c item.Consumer) item.Stack

Consume ...

func (Potato) ConsumeDuration

func (p Potato) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Potato) EncodeBlock

func (p Potato) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Potato) EncodeItem

func (p Potato) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Potato) GrowthStage

func (c Potato) GrowthStage() int

GrowthStage returns the current stage of growth.

func (Potato) HasLiquidDrops

func (c Potato) HasLiquidDrops() bool

HasLiquidDrops ...

func (Potato) Hash

func (p Potato) Hash() uint64

func (Potato) NeighbourUpdateTick

func (c Potato) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Potato) RandomTick

func (p Potato) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (Potato) SameCrop

func (Potato) SameCrop(c Crop) bool

SameCrop ...

func (Potato) UseOnBlock

func (p Potato) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Prismarine added in v0.1.0

type Prismarine struct {

	// Type is the type of prismarine of the block.
	Type PrismarineType
	// contains filtered or unexported fields
}

Prismarine is a type of stone that appears underwater in ruins and ocean monuments.

func (Prismarine) BreakInfo added in v0.1.0

func (p Prismarine) BreakInfo() BreakInfo

BreakInfo ...

func (Prismarine) EncodeBlock added in v0.1.0

func (p Prismarine) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Prismarine) EncodeItem added in v0.1.0

func (p Prismarine) EncodeItem() (id string, meta int16)

EncodeItem ...

func (Prismarine) Hash added in v0.1.0

func (p Prismarine) Hash() uint64

func (Prismarine) Instrument added in v0.1.0

func (Prismarine) Instrument() sound.Instrument

Instrument ...

func (Prismarine) Model added in v0.1.0

func (Prismarine) Model() world.BlockModel

Model ...

type PrismarineType added in v0.1.0

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

PrismarineType represents a type of prismarine.

func BrickPrismarine added in v0.1.0

func BrickPrismarine() PrismarineType

BrickPrismarine is the brick variant of prismarine.

func DarkPrismarine added in v0.1.0

func DarkPrismarine() PrismarineType

DarkPrismarine is the dark variant of prismarine.

func NormalPrismarine added in v0.1.0

func NormalPrismarine() PrismarineType

NormalPrismarine is the normal variant of prismarine.

func PrismarineTypes added in v0.1.0

func PrismarineTypes() []PrismarineType

PrismarineTypes ...

func (PrismarineType) Name added in v0.1.0

func (s PrismarineType) Name() string

Name ...

func (PrismarineType) String added in v0.1.0

func (s PrismarineType) String() string

String ...

func (PrismarineType) Uint8 added in v0.1.0

func (s PrismarineType) Uint8() uint8

Uint8 returns the prismarine as a uint8.

type Pumpkin

type Pumpkin struct {

	// Carved is whether the pumpkin is carved.
	Carved bool
	// Facing is the direction the pumpkin is facing.
	Facing cube.Direction
	// contains filtered or unexported fields
}

Pumpkin is a crop block. Interacting with shears results in the carved variant.

func (Pumpkin) BreakInfo

func (p Pumpkin) BreakInfo() BreakInfo

BreakInfo ...

func (Pumpkin) Carve

func (p Pumpkin) Carve(f cube.Face) (world.Block, bool)

Carve ...

func (Pumpkin) DefencePoints

func (p Pumpkin) DefencePoints() float64

DefencePoints ...

func (Pumpkin) EncodeBlock

func (p Pumpkin) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Pumpkin) EncodeItem

func (p Pumpkin) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Pumpkin) Hash

func (p Pumpkin) Hash() uint64

func (Pumpkin) Helmet

func (p Pumpkin) Helmet() bool

Helmet ...

func (Pumpkin) Instrument

func (p Pumpkin) Instrument() sound.Instrument

Instrument ...

func (Pumpkin) KnockBackResistance

func (p Pumpkin) KnockBackResistance() float64

KnockBackResistance ...

func (Pumpkin) Model

func (Pumpkin) Model() world.BlockModel

Model ...

func (Pumpkin) UseOnBlock

func (p Pumpkin) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type PumpkinSeeds

type PumpkinSeeds struct {

	// Direction is the direction from the stem to the pumpkin.
	Direction cube.Face
	// contains filtered or unexported fields
}

PumpkinSeeds grow pumpkin blocks.

func (PumpkinSeeds) BoneMeal

func (p PumpkinSeeds) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (PumpkinSeeds) BreakInfo

func (p PumpkinSeeds) BreakInfo() BreakInfo

BreakInfo ...

func (PumpkinSeeds) CalculateGrowthChance

func (c PumpkinSeeds) CalculateGrowthChance(pos cube.Pos, w *world.World) float64

CalculateGrowthChance calculates the chance the crop will grow during a random tick.

func (PumpkinSeeds) EncodeBlock

func (p PumpkinSeeds) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (PumpkinSeeds) EncodeItem

func (p PumpkinSeeds) EncodeItem() (name string, meta int16)

EncodeItem ...

func (PumpkinSeeds) GrowthStage

func (c PumpkinSeeds) GrowthStage() int

GrowthStage returns the current stage of growth.

func (PumpkinSeeds) HasLiquidDrops

func (c PumpkinSeeds) HasLiquidDrops() bool

HasLiquidDrops ...

func (PumpkinSeeds) Hash

func (p PumpkinSeeds) Hash() uint64

func (PumpkinSeeds) NeighbourUpdateTick

func (p PumpkinSeeds) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (PumpkinSeeds) RandomTick

func (p PumpkinSeeds) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (PumpkinSeeds) SameCrop

func (PumpkinSeeds) SameCrop(c Crop) bool

SameCrop ...

func (PumpkinSeeds) UseOnBlock

func (p PumpkinSeeds) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Punchable

type Punchable interface {
	// Punch punches the block at a specific block position. The face clicked is passed, as well as the
	// world in which the block was punched and the viewer that punched it.
	Punch(pos cube.Pos, clickedFace cube.Face, w *world.World, u item.User)
}

Punchable represents a block that may be punched by a viewer of the world. When punched, the block will execute some specific logic.

type Quartz

type Quartz struct {

	// Smooth specifies if the quartz block is smooth or not.
	Smooth bool
	// contains filtered or unexported fields
}

Quartz is a mineral block used only for decoration.

func (Quartz) BreakInfo

func (q Quartz) BreakInfo() BreakInfo

BreakInfo ...

func (Quartz) EncodeBlock

func (q Quartz) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Quartz) EncodeItem

func (q Quartz) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Quartz) Hash

func (q Quartz) Hash() uint64

func (Quartz) Instrument

func (Quartz) Instrument() sound.Instrument

Instrument ...

func (Quartz) Model

func (Quartz) Model() world.BlockModel

Model ...

type QuartzBricks

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

QuartzBricks is a mineral block used only for decoration.

func (QuartzBricks) BreakInfo

func (q QuartzBricks) BreakInfo() BreakInfo

BreakInfo ...

func (QuartzBricks) EncodeBlock

func (QuartzBricks) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (QuartzBricks) EncodeItem

func (QuartzBricks) EncodeItem() (name string, meta int16)

EncodeItem ...

func (QuartzBricks) Hash

func (QuartzBricks) Hash() uint64

func (QuartzBricks) Instrument

func (QuartzBricks) Instrument() sound.Instrument

Instrument ...

func (QuartzBricks) Model

func (QuartzBricks) Model() world.BlockModel

Model ...

type QuartzPillar

type QuartzPillar struct {

	// Axis is the axis which the quartz pillar block faces.
	Axis cube.Axis
	// contains filtered or unexported fields
}

QuartzPillar is a mineral block used only for decoration.

func (QuartzPillar) BreakInfo

func (q QuartzPillar) BreakInfo() BreakInfo

BreakInfo ...

func (QuartzPillar) EncodeBlock

func (q QuartzPillar) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (QuartzPillar) EncodeItem

func (q QuartzPillar) EncodeItem() (name string, meta int16)

EncodeItem ...

func (QuartzPillar) Hash

func (q QuartzPillar) Hash() uint64

func (QuartzPillar) Instrument

func (QuartzPillar) Instrument() sound.Instrument

Instrument ...

func (QuartzPillar) Model

func (QuartzPillar) Model() world.BlockModel

Model ...

func (QuartzPillar) UseOnBlock

func (q QuartzPillar) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles the rotational placing of quartz pillar blocks.

type RawCopperBlock added in v0.1.0

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

RawCopperBlock is a raw metal block equivalent to nine raw copper.

func (RawCopperBlock) BreakInfo added in v0.1.0

func (r RawCopperBlock) BreakInfo() BreakInfo

BreakInfo ...

func (RawCopperBlock) EncodeBlock added in v0.1.0

func (RawCopperBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (RawCopperBlock) EncodeItem added in v0.1.0

func (RawCopperBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (RawCopperBlock) Hash added in v0.1.0

func (RawCopperBlock) Hash() uint64

func (RawCopperBlock) Instrument added in v0.1.0

func (RawCopperBlock) Instrument() sound.Instrument

Instrument ...

func (RawCopperBlock) Model added in v0.1.0

func (RawCopperBlock) Model() world.BlockModel

Model ...

type RawGoldBlock added in v0.1.0

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

RawGoldBlock is a raw metal block equivalent to nine raw gold.

func (RawGoldBlock) BreakInfo added in v0.1.0

func (g RawGoldBlock) BreakInfo() BreakInfo

BreakInfo ...

func (RawGoldBlock) EncodeBlock added in v0.1.0

func (RawGoldBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (RawGoldBlock) EncodeItem added in v0.1.0

func (RawGoldBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (RawGoldBlock) Hash added in v0.1.0

func (RawGoldBlock) Hash() uint64

func (RawGoldBlock) Instrument added in v0.1.0

func (RawGoldBlock) Instrument() sound.Instrument

Instrument ...

func (RawGoldBlock) Model added in v0.1.0

func (RawGoldBlock) Model() world.BlockModel

Model ...

type RawIronBlock added in v0.1.0

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

RawIronBlock is a raw metal block equivalent to nine raw iron.

func (RawIronBlock) BreakInfo added in v0.1.0

func (r RawIronBlock) BreakInfo() BreakInfo

BreakInfo ...

func (RawIronBlock) EncodeBlock added in v0.1.0

func (RawIronBlock) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (RawIronBlock) EncodeItem added in v0.1.0

func (RawIronBlock) EncodeItem() (name string, meta int16)

EncodeItem ...

func (RawIronBlock) Hash added in v0.1.0

func (RawIronBlock) Hash() uint64

func (RawIronBlock) Instrument added in v0.1.0

func (RawIronBlock) Instrument() sound.Instrument

Instrument ...

func (RawIronBlock) Model added in v0.1.0

func (RawIronBlock) Model() world.BlockModel

Model ...

type Replaceable

type Replaceable interface {
	// ReplaceableBy returns a bool which indicates if the block is replaceableWith by another block.
	ReplaceableBy(b world.Block) bool
}

Replaceable represents a block that may be replaced by another block automatically. An example is grass, which may be replaced by clicking it with another block.

type Sand

type Sand struct {

	// Red toggles the red sand variant.
	Red bool
	// contains filtered or unexported fields
}

Sand is a block affected by gravity. It can come in a red variant.

func (Sand) BreakInfo

func (s Sand) BreakInfo() BreakInfo

BreakInfo ...

func (Sand) EncodeBlock

func (s Sand) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Sand) EncodeItem

func (s Sand) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Sand) Hash

func (s Sand) Hash() uint64

func (Sand) Instrument

func (Sand) Instrument() sound.Instrument

Instrument ...

func (Sand) Model

func (Sand) Model() world.BlockModel

Model ...

func (Sand) NeighbourUpdateTick

func (s Sand) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Sand) SoilFor added in v0.4.0

func (s Sand) SoilFor(block world.Block) bool

SoilFor ...

func (Sand) Solidifies

func (g Sand) Solidifies(cube.Pos, *world.World) bool

Solidifies ...

type Sandstone added in v0.1.0

type Sandstone struct {

	// Type is the type of sandstone of the block.
	Type SandstoneType

	// Red specifies if the sandstone type is red or not. When set to true, the sandstone type will represent its
	// red variant, for example red sandstone.
	Red bool
	// contains filtered or unexported fields
}

Sandstone is a solid block commonly found in deserts and beaches underneath sand.

func (Sandstone) BreakInfo added in v0.1.0

func (s Sandstone) BreakInfo() BreakInfo

BreakInfo ...

func (Sandstone) EncodeBlock added in v0.1.0

func (s Sandstone) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Sandstone) EncodeItem added in v0.1.0

func (s Sandstone) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Sandstone) Hash added in v0.1.0

func (s Sandstone) Hash() uint64

func (Sandstone) Instrument added in v0.1.0

func (Sandstone) Instrument() sound.Instrument

Instrument ...

func (Sandstone) Model added in v0.1.0

func (Sandstone) Model() world.BlockModel

Model ...

type SandstoneStairs added in v0.4.0

type SandstoneStairs struct {

	// Smooth will specify if the sandstone block should be smooth sandstone stairs or normal sandstone stairs.
	Smooth bool

	// Red specifies if the sandstone type is red or not. When set to true, the sandstone stairs type will represent its
	// red variant, for example red sandstone stairs.
	Red bool

	// UpsideDown specifies if the stairs are upside down. If set to true, the full side is at the top part
	// of the block.
	UpsideDown bool
	// Facing is the direction that the full side of the stairs is facing.
	Facing cube.Direction
	// contains filtered or unexported fields
}

SandstoneStairs are blocks that allow entities to walk up blocks without jumping. They are crafted using sandstone.

func (SandstoneStairs) BreakInfo added in v0.4.0

func (s SandstoneStairs) BreakInfo() BreakInfo

BreakInfo ...

func (SandstoneStairs) CanDisplace added in v0.4.0

func (SandstoneStairs) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (SandstoneStairs) EncodeBlock added in v0.4.0

func (s SandstoneStairs) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (SandstoneStairs) EncodeItem added in v0.4.0

func (s SandstoneStairs) EncodeItem() (name string, meta int16)

EncodeItem ...

func (SandstoneStairs) Hash added in v0.4.0

func (s SandstoneStairs) Hash() uint64

func (SandstoneStairs) LightDiffusionLevel added in v0.4.0

func (SandstoneStairs) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (SandstoneStairs) Model added in v0.4.0

func (s SandstoneStairs) Model() world.BlockModel

Model ...

func (SandstoneStairs) SideClosed added in v0.4.0

func (s SandstoneStairs) SideClosed(pos, side cube.Pos, w *world.World) bool

SideClosed ...

func (SandstoneStairs) UseOnBlock added in v0.4.0

func (s SandstoneStairs) UseOnBlock(pos cube.Pos, face cube.Face, clickPos mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles the directional placing of stairs and makes sure they are properly placed upside down when needed.

type SandstoneType added in v0.1.0

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

SandstoneType represents a type of sandstone.

func ChiseledSandstone added in v0.1.0

func ChiseledSandstone() SandstoneType

ChiseledSandstone is the chiseled variant of sandstone.

func CutSandstone added in v0.1.0

func CutSandstone() SandstoneType

CutSandstone is the cut variant of sandstone.

func NormalSandstone added in v0.1.0

func NormalSandstone() SandstoneType

NormalSandstone is the normal variant of sandstone.

func SandstoneTypes added in v0.1.0

func SandstoneTypes() []SandstoneType

SandstoneTypes ...

func SmoothSandstone added in v0.1.0

func SmoothSandstone() SandstoneType

SmoothSandstone is the smooth variant of sandstone.

func (SandstoneType) Hardness added in v0.1.0

func (s SandstoneType) Hardness() float64

Hardness ...

func (SandstoneType) Name added in v0.1.0

func (s SandstoneType) Name() string

Name ...

func (SandstoneType) String added in v0.1.0

func (s SandstoneType) String() string

String ...

func (SandstoneType) Uint8 added in v0.1.0

func (s SandstoneType) Uint8() uint8

Uint8 returns the sandstone as a uint8.

type SeaLantern

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

SeaLantern is an underwater light sources that appear in ocean monuments and underwater ruins.

func (SeaLantern) BreakInfo

func (s SeaLantern) BreakInfo() BreakInfo

BreakInfo ...

func (SeaLantern) EncodeBlock

func (SeaLantern) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (SeaLantern) EncodeItem

func (SeaLantern) EncodeItem() (name string, meta int16)

EncodeItem ...

func (SeaLantern) Hash

func (SeaLantern) Hash() uint64

func (SeaLantern) Instrument

func (SeaLantern) Instrument() sound.Instrument

Instrument ...

func (SeaLantern) LightDiffusionLevel

func (SeaLantern) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (SeaLantern) LightEmissionLevel

func (SeaLantern) LightEmissionLevel() uint8

LightEmissionLevel ...

func (SeaLantern) Model

func (SeaLantern) Model() world.BlockModel

Model ...

type SeaPickle added in v0.4.0

type SeaPickle struct {

	// AdditionalCount is the amount of additional sea pickles clustered together.
	AdditionalCount int
	// Dead is whether the sea pickles are not alive. Sea pickles are only considered alive when inside of water. While
	// alive, sea pickles emit light & can be grown with bone meal.
	Dead bool
	// contains filtered or unexported fields
}

SeaPickle is a small stationary underwater block that emits light, and is typically found in colonies of up to four sea pickles.

func (SeaPickle) BoneMeal added in v0.4.0

func (s SeaPickle) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (SeaPickle) BreakInfo added in v0.4.0

func (s SeaPickle) BreakInfo() BreakInfo

BreakInfo ...

func (SeaPickle) CanDisplace added in v0.4.0

func (SeaPickle) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (SeaPickle) EncodeBlock added in v0.4.0

func (s SeaPickle) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (SeaPickle) EncodeItem added in v0.4.0

func (SeaPickle) EncodeItem() (name string, meta int16)

EncodeItem ...

func (SeaPickle) HasLiquidDrops added in v0.4.0

func (SeaPickle) HasLiquidDrops() bool

HasLiquidDrops ...

func (SeaPickle) Hash added in v0.4.0

func (s SeaPickle) Hash() uint64

func (SeaPickle) LightDiffusionLevel added in v0.4.0

func (SeaPickle) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (SeaPickle) LightEmissionLevel added in v0.4.0

func (s SeaPickle) LightEmissionLevel() uint8

LightEmissionLevel ...

func (SeaPickle) Model added in v0.4.0

func (SeaPickle) Model() world.BlockModel

Model ...

func (SeaPickle) NeighbourUpdateTick added in v0.4.0

func (s SeaPickle) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (SeaPickle) SideClosed added in v0.4.0

func (SeaPickle) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (SeaPickle) UseOnBlock added in v0.4.0

func (s SeaPickle) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Shroomlight

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

Shroomlight are light-emitting blocks that generate in huge fungi.

func (Shroomlight) BreakInfo

func (s Shroomlight) BreakInfo() BreakInfo

BreakInfo ...

func (Shroomlight) EncodeBlock

func (Shroomlight) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Shroomlight) EncodeItem

func (Shroomlight) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Shroomlight) Hash

func (Shroomlight) Hash() uint64

func (Shroomlight) LightEmissionLevel

func (Shroomlight) LightEmissionLevel() uint8

LightEmissionLevel ...

func (Shroomlight) Model

func (Shroomlight) Model() world.BlockModel

Model ...

type Sign added in v0.2.0

type Sign struct {

	// Wood is the type of wood of the sign. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// Attach is the attachment of the Sign. It is either of the type WallAttachment or StandingAttachment.
	Attach Attachment
	// Text is the text displayed on the sign. The text is automatically wrapped if it does not fit on a line.
	Text string
	// BaseColour is the base colour of the text on the sign, changed when using a dye on the sign. The default colour
	// is black.
	BaseColour color.RGBA
	// Glowing specifies if the Sign has glowing text. If set to true, the text will be visible even in the dark, and it
	// will have an outline to improve visibility.
	Glowing bool
	// contains filtered or unexported fields
}

Sign is a non-solid block that can display text.

func (Sign) BreakInfo added in v0.2.0

func (s Sign) BreakInfo() BreakInfo

BreakInfo ...

func (Sign) CanDisplace added in v0.2.0

func (s Sign) CanDisplace(l world.Liquid) bool

CanDisplace ...

func (Sign) DecodeNBT added in v0.2.0

func (s Sign) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (Sign) Dye added in v0.2.0

func (s Sign) Dye(c item.Colour) (world.Block, bool)

Dye dyes the Sign, changing its base colour to that of the colour passed.

func (Sign) EditableBy added in v0.2.0

func (s Sign) EditableBy(editor SignEditor) bool

EditableBy returns whether a SignEditor can edit the sign or not. This is based on whether the SignEditor placed the sign and the sign's chunk has yet to be unloaded.

func (Sign) EncodeBlock added in v0.2.0

func (s Sign) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Sign) EncodeItem added in v0.2.0

func (s Sign) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Sign) EncodeNBT added in v0.2.0

func (s Sign) EncodeNBT() map[string]any

EncodeNBT ...

func (Sign) FlammabilityInfo added in v0.2.0

func (s Sign) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Sign) Hash added in v0.2.0

func (s Sign) Hash() uint64

func (Sign) Ink added in v0.2.0

func (s Sign) Ink(glowing bool) (world.Block, bool)

Ink inks the sign either glowing or non-glowing.

func (Sign) Instrument added in v0.2.0

func (Sign) Instrument() sound.Instrument

Instrument ...

func (Sign) LightDiffusionLevel added in v0.2.0

func (Sign) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Sign) MaxCount added in v0.2.0

func (s Sign) MaxCount() int

MaxCount ...

func (Sign) Model added in v0.2.0

func (Sign) Model() world.BlockModel

Model ...

func (Sign) NeighbourUpdateTick added in v0.2.0

func (s Sign) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Sign) SideClosed added in v0.2.0

func (s Sign) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (Sign) UseOnBlock added in v0.2.0

func (s Sign) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type SignEditor added in v0.2.0

type SignEditor interface {
	UUID() uuid.UUID
}

SignEditor represents something that can edit a sign, typically players.

type Snow added in v0.5.0

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

Snow is a full-sized block of snow.

func (Snow) BreakInfo added in v0.5.0

func (s Snow) BreakInfo() BreakInfo

BreakInfo ...

func (Snow) EncodeBlock added in v0.5.0

func (Snow) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Snow) EncodeItem added in v0.5.0

func (Snow) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Snow) Hash added in v0.5.0

func (Snow) Hash() uint64

func (Snow) Model added in v0.5.0

func (Snow) Model() world.BlockModel

Model ...

type Soil added in v0.1.0

type Soil interface {
	// SoilFor returns whether the vegetation can exist on the block.
	SoilFor(world.Block) bool
}

Soil represents a block that can support vegetation.

type SoulSand

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

SoulSand is a block found naturally only in the Nether. SoulSand slows movement of mobs & players.

func (SoulSand) BreakInfo

func (s SoulSand) BreakInfo() BreakInfo

BreakInfo ...

func (SoulSand) EncodeBlock

func (SoulSand) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (SoulSand) EncodeItem

func (SoulSand) EncodeItem() (name string, meta int16)

EncodeItem ...

func (SoulSand) Hash

func (SoulSand) Hash() uint64

func (SoulSand) Instrument

func (s SoulSand) Instrument() sound.Instrument

Instrument ...

func (SoulSand) Model

func (SoulSand) Model() world.BlockModel

Model ...

func (SoulSand) SoilFor added in v0.1.0

func (s SoulSand) SoilFor(block world.Block) bool

SoilFor ...

type SoulSoil

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

SoulSoil is a block naturally found only in the soul sand valley.

func (SoulSoil) BreakInfo

func (s SoulSoil) BreakInfo() BreakInfo

BreakInfo ...

func (SoulSoil) EncodeBlock

func (SoulSoil) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (SoulSoil) EncodeItem

func (SoulSoil) EncodeItem() (name string, meta int16)

EncodeItem ...

func (SoulSoil) Hash

func (SoulSoil) Hash() uint64

func (SoulSoil) Model

func (SoulSoil) Model() world.BlockModel

Model ...

func (SoulSoil) SoilFor added in v0.1.0

func (s SoulSoil) SoilFor(block world.Block) bool

SoilFor ...

type Sponge

type Sponge struct {

	// Wet specifies whether the dry or the wet variant of the block is used.
	Wet bool
	// contains filtered or unexported fields
}

Sponge is a block that can be used to remove water around itself when placed, turning into a wet sponge in the process.

func (Sponge) BreakInfo

func (s Sponge) BreakInfo() BreakInfo

BreakInfo ...

func (Sponge) EncodeBlock

func (s Sponge) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Sponge) EncodeItem

func (s Sponge) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Sponge) Hash

func (s Sponge) Hash() uint64

func (Sponge) Model

func (Sponge) Model() world.BlockModel

Model ...

func (Sponge) NeighbourUpdateTick

func (s Sponge) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick checks for nearby water flow. If water could be found and the sponge is dry, it will absorb the water and be flagged as wet.

func (Sponge) UseOnBlock

func (s Sponge) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock places the sponge, absorbs nearby water if it's still dry and flags it as wet if any water has been absorbed.

type SporeBlossom added in v0.1.0

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

SporeBlossom is a decorative block.

func (SporeBlossom) BreakInfo added in v0.1.0

func (s SporeBlossom) BreakInfo() BreakInfo

BreakInfo ...

func (SporeBlossom) EncodeBlock added in v0.1.0

func (s SporeBlossom) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (SporeBlossom) EncodeItem added in v0.1.0

func (s SporeBlossom) EncodeItem() (name string, meta int16)

EncodeItem ...

func (SporeBlossom) HasLiquidDrops added in v0.1.0

func (s SporeBlossom) HasLiquidDrops() bool

HasLiquidDrops ...

func (SporeBlossom) Hash added in v0.1.0

func (SporeBlossom) Hash() uint64

func (SporeBlossom) LightDiffusionLevel added in v0.1.0

func (SporeBlossom) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (SporeBlossom) Model added in v0.1.0

func (SporeBlossom) Model() world.BlockModel

Model ...

func (SporeBlossom) NeighbourUpdateTick added in v0.1.0

func (s SporeBlossom) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (SporeBlossom) UseOnBlock added in v0.1.0

func (s SporeBlossom) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type StainedGlass

type StainedGlass struct {

	// Colour specifies the colour of the block.
	Colour item.Colour
	// contains filtered or unexported fields
}

StainedGlass is a decorative, fully transparent solid block that is dyed into a different colour.

func (StainedGlass) BreakInfo

func (g StainedGlass) BreakInfo() BreakInfo

BreakInfo ...

func (StainedGlass) EncodeBlock

func (g StainedGlass) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (StainedGlass) EncodeItem

func (g StainedGlass) EncodeItem() (name string, meta int16)

EncodeItem ...

func (StainedGlass) Hash

func (g StainedGlass) Hash() uint64

func (StainedGlass) Instrument

func (StainedGlass) Instrument() sound.Instrument

Instrument ...

func (StainedGlass) LightDiffusionLevel

func (StainedGlass) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (StainedGlass) Model

func (StainedGlass) Model() world.BlockModel

Model ...

type StainedGlassPane

type StainedGlassPane struct {

	// Colour specifies the colour of the block.
	Colour item.Colour
	// contains filtered or unexported fields
}

StainedGlassPane is a transparent block that can be used as a more efficient alternative to glass blocks.

func (StainedGlassPane) BreakInfo

func (p StainedGlassPane) BreakInfo() BreakInfo

BreakInfo ...

func (StainedGlassPane) CanDisplace

func (p StainedGlassPane) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (StainedGlassPane) EncodeBlock

func (p StainedGlassPane) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (StainedGlassPane) EncodeItem

func (p StainedGlassPane) EncodeItem() (name string, meta int16)

EncodeItem ...

func (StainedGlassPane) Hash

func (p StainedGlassPane) Hash() uint64

func (StainedGlassPane) Instrument

func (StainedGlassPane) Instrument() sound.Instrument

Instrument ...

func (StainedGlassPane) LightDiffusionLevel

func (StainedGlassPane) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (StainedGlassPane) Model

func (StainedGlassPane) Model() world.BlockModel

Model ...

func (StainedGlassPane) SideClosed

func (p StainedGlassPane) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

type StainedTerracotta

type StainedTerracotta struct {

	// Colour specifies the colour of the block.
	Colour item.Colour
	// contains filtered or unexported fields
}

StainedTerracotta is a block formed from clay, with a hardness and blast resistance comparable to stone. In contrast to Terracotta, t can be coloured in the same 16 colours that wool can be dyed, but more dulled and earthen.

func (StainedTerracotta) BreakInfo

func (t StainedTerracotta) BreakInfo() BreakInfo

BreakInfo ...

func (StainedTerracotta) EncodeBlock

func (t StainedTerracotta) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (StainedTerracotta) EncodeItem

func (t StainedTerracotta) EncodeItem() (name string, meta int16)

EncodeItem ...

func (StainedTerracotta) Hash

func (t StainedTerracotta) Hash() uint64

func (StainedTerracotta) Instrument

func (StainedTerracotta) Instrument() sound.Instrument

Instrument ...

func (StainedTerracotta) Model

func (StainedTerracotta) Model() world.BlockModel

Model ...

func (StainedTerracotta) SoilFor added in v0.4.0

func (t StainedTerracotta) SoilFor(block world.Block) bool

SoilFor ...

type StartCrackAction added in v0.6.0

type StartCrackAction struct {
	BreakTime time.Duration
	// contains filtered or unexported fields
}

StartCrackAction is a world.BlockAction to make the cracks in a block start forming, following the break time set in the action.

func (StartCrackAction) BlockAction added in v0.6.0

func (StartCrackAction) BlockAction()

BlockAction serves to implement the world.BlockAction interface.

type Stone

type Stone struct {

	// Smooth specifies if the stone is its smooth variant.
	Smooth bool
	// contains filtered or unexported fields
}

Stone is a block found underground in the world or on mountains.

func (Stone) BreakInfo

func (s Stone) BreakInfo() BreakInfo

BreakInfo ...

func (Stone) EncodeBlock

func (s Stone) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Stone) EncodeItem

func (s Stone) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Stone) Hash

func (s Stone) Hash() uint64

func (Stone) Instrument

func (Stone) Instrument() sound.Instrument

Instrument ...

func (Stone) Model

func (Stone) Model() world.BlockModel

Model ...

type StoneBricks added in v0.5.0

type StoneBricks struct {

	// Type is the type of stone bricks of the block.
	Type StoneBricksType
	// contains filtered or unexported fields
}

StoneBricks are materials found in structures such as strongholds, igloo basements, jungle temples, ocean ruins and ruined portals.

func (StoneBricks) BreakInfo added in v0.5.0

func (c StoneBricks) BreakInfo() BreakInfo

BreakInfo ...

func (StoneBricks) EncodeBlock added in v0.5.0

func (c StoneBricks) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (StoneBricks) EncodeItem added in v0.5.0

func (c StoneBricks) EncodeItem() (name string, meta int16)

EncodeItem ...

func (StoneBricks) Hash added in v0.5.0

func (c StoneBricks) Hash() uint64

func (StoneBricks) Instrument added in v0.5.0

func (StoneBricks) Instrument() sound.Instrument

Instrument ...

func (StoneBricks) Model added in v0.5.0

func (StoneBricks) Model() world.BlockModel

Model ...

type StoneBricksType added in v0.5.0

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

StoneBricksType represents a type of stone bricks.

func ChiseledStoneBricks added in v0.5.0

func ChiseledStoneBricks() StoneBricksType

ChiseledStoneBricks is the chiseled variant of stone bricks.

func CrackedStoneBricks added in v0.5.0

func CrackedStoneBricks() StoneBricksType

CrackedStoneBricks is the cracked variant of stone bricks.

func MossyStoneBricks added in v0.5.0

func MossyStoneBricks() StoneBricksType

MossyStoneBricks is the mossy variant of stone bricks.

func NormalStoneBricks added in v0.5.0

func NormalStoneBricks() StoneBricksType

NormalStoneBricks is the normal variant of stone bricks.

func StoneBricksTypes added in v0.5.0

func StoneBricksTypes() []StoneBricksType

StoneBricksTypes ...

func (StoneBricksType) Name added in v0.5.0

func (s StoneBricksType) Name() string

Name ...

func (StoneBricksType) String added in v0.5.0

func (s StoneBricksType) String() string

String ...

func (StoneBricksType) Uint8 added in v0.5.0

func (s StoneBricksType) Uint8() uint8

Uint8 returns the stone bricks as a uint8.

type StopCrackAction added in v0.6.0

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

StopCrackAction is a world.BlockAction to make the cracks forming in a block stop and disappear.

func (StopCrackAction) BlockAction added in v0.6.0

func (StopCrackAction) BlockAction()

BlockAction serves to implement the world.BlockAction interface.

type TallGrass added in v0.1.0

type TallGrass struct {

	// Type is the type of grass that the plant represents.
	Type GrassType
	// contains filtered or unexported fields
}

TallGrass is a transparent plant block which can be used to obtain seeds and as decoration.

func (TallGrass) BoneMeal added in v0.1.0

func (g TallGrass) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal attempts to affect the block using a bone meal item.

func (TallGrass) BreakInfo added in v0.1.0

func (g TallGrass) BreakInfo() BreakInfo

BreakInfo ...

func (TallGrass) EncodeBlock added in v0.1.0

func (g TallGrass) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (TallGrass) EncodeItem added in v0.1.0

func (g TallGrass) EncodeItem() (name string, meta int16)

EncodeItem ...

func (TallGrass) FlammabilityInfo added in v0.1.0

func (g TallGrass) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (TallGrass) HasLiquidDrops added in v0.1.0

func (g TallGrass) HasLiquidDrops() bool

HasLiquidDrops ...

func (TallGrass) Hash added in v0.1.0

func (g TallGrass) Hash() uint64

func (TallGrass) LightDiffusionLevel added in v0.1.0

func (TallGrass) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (TallGrass) Model added in v0.1.0

func (TallGrass) Model() world.BlockModel

Model ...

func (TallGrass) NeighbourUpdateTick added in v0.1.0

func (g TallGrass) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (TallGrass) ReplaceableBy added in v0.1.0

func (TallGrass) ReplaceableBy(world.Block) bool

ReplaceableBy ...

func (TallGrass) UseOnBlock added in v0.1.0

func (g TallGrass) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Terracotta

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

Terracotta is a block formed from clay, with a hardness and blast resistance comparable to stone. For colouring it, take a look at StainedTerracotta.

func (Terracotta) BreakInfo

func (t Terracotta) BreakInfo() BreakInfo

BreakInfo ...

func (Terracotta) EncodeBlock

func (Terracotta) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Terracotta) EncodeItem

func (Terracotta) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Terracotta) Hash

func (Terracotta) Hash() uint64

func (Terracotta) Instrument

func (Terracotta) Instrument() sound.Instrument

Instrument ...

func (Terracotta) Model

func (Terracotta) Model() world.BlockModel

Model ...

func (Terracotta) SoilFor added in v0.4.0

func (Terracotta) SoilFor(block world.Block) bool

SoilFor ...

type Torch

type Torch struct {

	// Facing is the direction from the torch to the block.
	Facing cube.Face
	// Type is the type of fire lighting the torch.
	Type FireType
	// contains filtered or unexported fields
}

Torch are non-solid blocks that emit light.

func (Torch) BreakInfo

func (t Torch) BreakInfo() BreakInfo

BreakInfo ...

func (Torch) EncodeBlock

func (t Torch) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Torch) EncodeItem

func (t Torch) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Torch) HasLiquidDrops

func (t Torch) HasLiquidDrops() bool

HasLiquidDrops ...

func (Torch) Hash

func (t Torch) Hash() uint64

func (Torch) LightDiffusionLevel

func (Torch) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Torch) LightEmissionLevel

func (t Torch) LightEmissionLevel() uint8

LightEmissionLevel ...

func (Torch) Model

func (Torch) Model() world.BlockModel

Model ...

func (Torch) NeighbourUpdateTick

func (t Torch) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (Torch) UseOnBlock

func (t Torch) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Tuff added in v0.1.0

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

Tuff is an ornamental rock formed from volcanic ash, occurring in underground blobs below Y=16.

func (Tuff) BreakInfo added in v0.1.0

func (t Tuff) BreakInfo() BreakInfo

BreakInfo ...

func (Tuff) EncodeBlock added in v0.1.0

func (t Tuff) EncodeBlock() (string, map[string]any)

EncodeBlock ...

func (Tuff) EncodeItem added in v0.1.0

func (t Tuff) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Tuff) Hash added in v0.1.0

func (Tuff) Hash() uint64

func (Tuff) Instrument added in v0.1.0

func (Tuff) Instrument() sound.Instrument

Instrument ...

func (Tuff) Model added in v0.1.0

func (Tuff) Model() world.BlockModel

Model ...

type Water

type Water struct {

	// Still makes the water appear as if it is not flowing.
	Still bool
	// Depth is the depth of the water. This is a number from 1-8, where 8 is a source block and 1 is the
	// smallest possible water block.
	Depth int
	// Falling specifies if the water is falling. Falling water will always appear as a source block, but its
	// behaviour differs when it starts spreading.
	Falling bool
	// contains filtered or unexported fields
}

Water is a natural fluid that generates abundantly in the world.

func (Water) EncodeBlock

func (w Water) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Water) EntityInside added in v0.4.0

func (w Water) EntityInside(_ cube.Pos, _ *world.World, e world.Entity)

EntityInside ...

func (Water) FillBottle

func (w Water) FillBottle() (world.Block, item.Stack, bool)

FillBottle ...

func (Water) Harden

func (w Water) Harden(pos cube.Pos, wo *world.World, flownIntoBy *cube.Pos) bool

Harden hardens the water if lava flows into it.

func (Water) HasLiquidDrops

func (Water) HasLiquidDrops() bool

HasLiquidDrops ...

func (Water) Hash

func (w Water) Hash() uint64

func (Water) LightDiffusionLevel

func (Water) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (Water) LiquidDepth

func (w Water) LiquidDepth() int

LiquidDepth returns the depth of the water.

func (Water) LiquidFalling

func (w Water) LiquidFalling() bool

LiquidFalling returns Water.Falling.

func (Water) LiquidType

func (Water) LiquidType() string

LiquidType ...

func (Water) Model

func (Water) Model() world.BlockModel

Model ...

func (Water) NeighbourUpdateTick

func (Water) NeighbourUpdateTick(pos, _ cube.Pos, wo *world.World)

NeighbourUpdateTick ...

func (Water) ReplaceableBy

func (Water) ReplaceableBy(world.Block) bool

ReplaceableBy ...

func (Water) ScheduledTick

func (w Water) ScheduledTick(pos cube.Pos, wo *world.World, _ *rand.Rand)

ScheduledTick ...

func (Water) SpreadDecay

func (Water) SpreadDecay() int

SpreadDecay returns 1 - The amount of levels decreased upon spreading.

func (Water) WithDepth

func (w Water) WithDepth(depth int, falling bool) world.Liquid

WithDepth returns the water with the depth passed.

type WheatSeeds

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

WheatSeeds are a crop that can be harvested to craft bread, cake, & cookies.

func (WheatSeeds) BoneMeal

func (s WheatSeeds) BoneMeal(pos cube.Pos, w *world.World) bool

BoneMeal ...

func (WheatSeeds) BreakInfo

func (s WheatSeeds) BreakInfo() BreakInfo

BreakInfo ...

func (WheatSeeds) CalculateGrowthChance

func (c WheatSeeds) CalculateGrowthChance(pos cube.Pos, w *world.World) float64

CalculateGrowthChance calculates the chance the crop will grow during a random tick.

func (WheatSeeds) EncodeBlock

func (s WheatSeeds) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (WheatSeeds) EncodeItem

func (s WheatSeeds) EncodeItem() (name string, meta int16)

EncodeItem ...

func (WheatSeeds) GrowthStage

func (c WheatSeeds) GrowthStage() int

GrowthStage returns the current stage of growth.

func (WheatSeeds) HasLiquidDrops

func (c WheatSeeds) HasLiquidDrops() bool

HasLiquidDrops ...

func (WheatSeeds) Hash

func (s WheatSeeds) Hash() uint64

func (WheatSeeds) NeighbourUpdateTick

func (c WheatSeeds) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (WheatSeeds) RandomTick

func (s WheatSeeds) RandomTick(pos cube.Pos, w *world.World, r *rand.Rand)

RandomTick ...

func (WheatSeeds) SameCrop

func (WheatSeeds) SameCrop(c Crop) bool

SameCrop ...

func (WheatSeeds) UseOnBlock

func (s WheatSeeds) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type Wood added in v0.5.0

type Wood struct {

	// Wood is the type of wood.
	Wood WoodType
	// Stripped specifies if the wood is stripped or not.
	Stripped bool
	// Axis is the axis which the wood block faces.
	Axis cube.Axis
	// contains filtered or unexported fields
}

Wood is a block that has the log's "bark" texture on all six sides. It comes in 8 types: oak, spruce, birch, jungle, acacia, dark oak, crimson, and warped. Stripped wood is a variant obtained by using an axe on the wood.

func (Wood) BreakInfo added in v0.5.0

func (w Wood) BreakInfo() BreakInfo

BreakInfo ...

func (Wood) EncodeBlock added in v0.5.0

func (w Wood) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Wood) EncodeItem added in v0.5.0

func (w Wood) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Wood) FlammabilityInfo added in v0.5.0

func (w Wood) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Wood) Hash added in v0.5.0

func (w Wood) Hash() uint64

func (Wood) Instrument added in v0.5.0

func (Wood) Instrument() sound.Instrument

Instrument ...

func (Wood) Model added in v0.5.0

func (Wood) Model() world.BlockModel

Model ...

func (Wood) Strip added in v0.5.0

func (w Wood) Strip() (world.Block, bool)

Strip ...

func (Wood) UseOnBlock added in v0.5.0

func (w Wood) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, wo *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock ...

type WoodDoor

type WoodDoor struct {

	// Wood is the type of wood of the door. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// Facing is the direction the door is facing.
	Facing cube.Direction
	// Open is whether the door is open.
	Open bool
	// Top is whether the block is the top or bottom half of a door
	Top bool
	// Right is whether the door hinge is on the right side
	Right bool
	// contains filtered or unexported fields
}

WoodDoor is a block that can be used as an openable 1x2 barrier.

func (WoodDoor) Activate

func (d WoodDoor) Activate(pos cube.Pos, _ cube.Face, w *world.World, _ item.User) bool

Activate ...

func (WoodDoor) BreakInfo

func (d WoodDoor) BreakInfo() BreakInfo

BreakInfo ...

func (WoodDoor) CanDisplace

func (d WoodDoor) CanDisplace(l world.Liquid) bool

CanDisplace ...

func (WoodDoor) EncodeBlock

func (d WoodDoor) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (WoodDoor) EncodeItem

func (d WoodDoor) EncodeItem() (name string, meta int16)

EncodeItem ...

func (WoodDoor) FlammabilityInfo

func (d WoodDoor) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (WoodDoor) Hash

func (d WoodDoor) Hash() uint64

func (WoodDoor) Instrument

func (WoodDoor) Instrument() sound.Instrument

Instrument ...

func (WoodDoor) LightDiffusionLevel

func (WoodDoor) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (WoodDoor) Model

func (d WoodDoor) Model() world.BlockModel

Model ...

func (WoodDoor) NeighbourUpdateTick

func (d WoodDoor) NeighbourUpdateTick(pos, _ cube.Pos, w *world.World)

NeighbourUpdateTick ...

func (WoodDoor) SideClosed

func (d WoodDoor) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (WoodDoor) UseOnBlock

func (d WoodDoor) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock handles the directional placing of doors

type WoodFence

type WoodFence struct {

	// Wood is the type of wood of the fence. This field must have one of the values found in the wood
	// package.
	Wood WoodType
	// contains filtered or unexported fields
}

WoodFence are blocks similar to Walls, which cannot normally be jumped over. Unlike walls however, they allow the player (but not mobs) to see through them, making for excellent barriers.

func (WoodFence) BreakInfo

func (w WoodFence) BreakInfo() BreakInfo

BreakInfo ...

func (WoodFence) CanDisplace

func (WoodFence) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (WoodFence) EncodeBlock

func (w WoodFence) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (WoodFence) EncodeItem

func (w WoodFence) EncodeItem() (name string, meta int16)

EncodeItem ...

func (WoodFence) FlammabilityInfo

func (w WoodFence) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (WoodFence) Hash

func (w WoodFence) Hash() uint64

func (WoodFence) Instrument

func (WoodFence) Instrument() sound.Instrument

Instrument ...

func (WoodFence) LightDiffusionLevel

func (WoodFence) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (WoodFence) Model

func (w WoodFence) Model() world.BlockModel

Model ...

func (WoodFence) SideClosed

func (WoodFence) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

type WoodFenceGate

type WoodFenceGate struct {

	// Wood is the type of wood of the fence gate. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// Facing is the direction the fence gate swings open.
	Facing cube.Direction
	// Open is whether the fence gate is open.
	Open bool
	// Lowered lowers the fence gate by 3 pixels and is set when placed next to wall blocks.
	Lowered bool
	// contains filtered or unexported fields
}

WoodFenceGate is a block that can be used as an openable 1x1 barrier.

func (WoodFenceGate) Activate

func (f WoodFenceGate) Activate(pos cube.Pos, _ cube.Face, w *world.World, u item.User) bool

Activate ...

func (WoodFenceGate) BreakInfo

func (f WoodFenceGate) BreakInfo() BreakInfo

BreakInfo ...

func (WoodFenceGate) CanDisplace

func (f WoodFenceGate) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (WoodFenceGate) EncodeBlock

func (f WoodFenceGate) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (WoodFenceGate) EncodeItem

func (f WoodFenceGate) EncodeItem() (name string, meta int16)

EncodeItem ...

func (WoodFenceGate) FlammabilityInfo

func (f WoodFenceGate) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (WoodFenceGate) Hash

func (f WoodFenceGate) Hash() uint64

func (WoodFenceGate) Instrument

func (WoodFenceGate) Instrument() sound.Instrument

Instrument ...

func (WoodFenceGate) LightDiffusionLevel

func (WoodFenceGate) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (WoodFenceGate) Model

func (f WoodFenceGate) Model() world.BlockModel

Model ...

func (WoodFenceGate) SideClosed

func (f WoodFenceGate) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (WoodFenceGate) UseOnBlock

func (f WoodFenceGate) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock ...

type WoodSlab

type WoodSlab struct {

	// Wood is the type of wood of the slabs. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// Top specifies if the slab is in the top part of the block.
	Top bool
	// Double specifies if the slab is a double slab. These double slabs can be made by placing another slab
	// on an existing slab.
	Double bool
	// contains filtered or unexported fields
}

WoodSlab is a half block that allows entities to walk up blocks without jumping.

func (WoodSlab) BreakInfo

func (s WoodSlab) BreakInfo() BreakInfo

BreakInfo ...

func (WoodSlab) CanDisplace

func (s WoodSlab) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (WoodSlab) EncodeBlock

func (s WoodSlab) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (WoodSlab) EncodeItem

func (s WoodSlab) EncodeItem() (name string, meta int16)

EncodeItem ...

func (WoodSlab) FlammabilityInfo

func (s WoodSlab) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (WoodSlab) Hash

func (s WoodSlab) Hash() uint64

func (WoodSlab) Instrument

func (WoodSlab) Instrument() sound.Instrument

Instrument ...

func (WoodSlab) LightDiffusionLevel

func (s WoodSlab) LightDiffusionLevel() uint8

LightDiffusionLevel returns 0 if the slab is a half slab, or 15 if it is double.

func (WoodSlab) Model

func (s WoodSlab) Model() world.BlockModel

Model ...

func (WoodSlab) SideClosed

func (s WoodSlab) SideClosed(pos, side cube.Pos, _ *world.World) bool

SideClosed ...

func (WoodSlab) UseOnBlock

func (s WoodSlab) UseOnBlock(pos cube.Pos, face cube.Face, clickPos mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles the placement of slabs with relation to them being upside down or not and handles slabs being turned into double slabs.

type WoodStairs

type WoodStairs struct {

	// Wood is the type of wood of the stairs. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// UpsideDown specifies if the stairs are upside down. If set to true, the full side is at the top part
	// of the block.
	UpsideDown bool
	// Facing is the direction that the full side of the stairs is facing.
	Facing cube.Direction
	// contains filtered or unexported fields
}

WoodStairs are blocks that allow entities to walk up blocks without jumping. They are crafted using planks.

func (WoodStairs) BreakInfo

func (s WoodStairs) BreakInfo() BreakInfo

BreakInfo ...

func (WoodStairs) CanDisplace

func (WoodStairs) CanDisplace(b world.Liquid) bool

CanDisplace ...

func (WoodStairs) EncodeBlock

func (s WoodStairs) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (WoodStairs) EncodeItem

func (s WoodStairs) EncodeItem() (name string, meta int16)

EncodeItem ...

func (WoodStairs) FlammabilityInfo

func (s WoodStairs) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (WoodStairs) Hash

func (s WoodStairs) Hash() uint64

func (WoodStairs) Instrument

func (WoodStairs) Instrument() sound.Instrument

Instrument ...

func (WoodStairs) LightDiffusionLevel

func (WoodStairs) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (WoodStairs) Model

func (s WoodStairs) Model() world.BlockModel

Model ...

func (WoodStairs) SideClosed

func (s WoodStairs) SideClosed(pos, side cube.Pos, w *world.World) bool

SideClosed ...

func (WoodStairs) UseOnBlock

func (s WoodStairs) UseOnBlock(pos cube.Pos, face cube.Face, clickPos mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) (used bool)

UseOnBlock handles the directional placing of stairs and makes sure they are properly placed upside down when needed.

type WoodTrapdoor

type WoodTrapdoor struct {

	// Wood is the type of wood of the trapdoor. This field must have one of the values found in the material
	// package.
	Wood WoodType
	// Facing is the direction the trapdoor is facing.
	Facing cube.Direction
	// Open is whether the trapdoor is open.
	Open bool
	// Top is whether the trapdoor occupies the top or bottom part of a block.
	Top bool
	// contains filtered or unexported fields
}

WoodTrapdoor is a block that can be used as an openable 1x1 barrier.

func (WoodTrapdoor) Activate

func (t WoodTrapdoor) Activate(pos cube.Pos, _ cube.Face, w *world.World, _ item.User) bool

Activate ...

func (WoodTrapdoor) BreakInfo

func (t WoodTrapdoor) BreakInfo() BreakInfo

BreakInfo ...

func (WoodTrapdoor) CanDisplace

func (t WoodTrapdoor) CanDisplace(l world.Liquid) bool

CanDisplace ...

func (WoodTrapdoor) EncodeBlock

func (t WoodTrapdoor) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (WoodTrapdoor) EncodeItem

func (t WoodTrapdoor) EncodeItem() (name string, meta int16)

EncodeItem ...

func (WoodTrapdoor) FlammabilityInfo

func (t WoodTrapdoor) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (WoodTrapdoor) Hash

func (t WoodTrapdoor) Hash() uint64

func (WoodTrapdoor) Instrument

func (WoodTrapdoor) Instrument() sound.Instrument

Instrument ...

func (WoodTrapdoor) LightDiffusionLevel

func (WoodTrapdoor) LightDiffusionLevel() uint8

LightDiffusionLevel ...

func (WoodTrapdoor) Model

func (t WoodTrapdoor) Model() world.BlockModel

Model ...

func (WoodTrapdoor) SideClosed

func (t WoodTrapdoor) SideClosed(cube.Pos, cube.Pos, *world.World) bool

SideClosed ...

func (WoodTrapdoor) UseOnBlock

func (t WoodTrapdoor) UseOnBlock(pos cube.Pos, face cube.Face, clickPos mgl64.Vec3, w *world.World, user item.User, ctx *item.UseContext) bool

UseOnBlock handles the directional placing of trapdoors and makes sure they are properly placed upside down when needed.

type WoodType

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

WoodType represents a type of wood of a block. Some blocks, such as log blocks, bark blocks, wooden planks and others carry one of these types.

func AcaciaWood

func AcaciaWood() WoodType

AcaciaWood returns acacia wood material.

func BirchWood

func BirchWood() WoodType

BirchWood returns birchwood material.

func CrimsonWood

func CrimsonWood() WoodType

CrimsonWood returns crimson wood material.

func DarkOakWood

func DarkOakWood() WoodType

DarkOakWood returns dark oak wood material.

func JungleWood

func JungleWood() WoodType

JungleWood returns jungle wood material.

func OakWood

func OakWood() WoodType

OakWood returns oak wood material.

func SpruceWood

func SpruceWood() WoodType

SpruceWood returns spruce wood material.

func WarpedWood

func WarpedWood() WoodType

WarpedWood returns warped wood material.

func WoodTypes

func WoodTypes() []WoodType

WoodTypes returns a list of all wood types

func (WoodType) Flammable

func (w WoodType) Flammable() bool

Flammable returns whether the wood type is flammable.

func (WoodType) Name

func (w WoodType) Name() string

Name ...

func (WoodType) String

func (w WoodType) String() string

String ...

func (WoodType) Uint8

func (w WoodType) Uint8() uint8

Uint8 returns the wood as a uint8.

type Wool

type Wool struct {

	// Colour is the colour of the wool.
	Colour item.Colour
	// contains filtered or unexported fields
}

Wool is a colourful block that can be obtained by killing/shearing sheep, or crafted using four string.

func (Wool) BreakInfo

func (w Wool) BreakInfo() BreakInfo

BreakInfo ...

func (Wool) EncodeBlock

func (w Wool) EncodeBlock() (name string, properties map[string]any)

EncodeBlock ...

func (Wool) EncodeItem

func (w Wool) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Wool) FlammabilityInfo

func (w Wool) FlammabilityInfo() FlammabilityInfo

FlammabilityInfo ...

func (Wool) Hash

func (w Wool) Hash() uint64

func (Wool) Instrument

func (w Wool) Instrument() sound.Instrument

Instrument ...

func (Wool) Model

func (Wool) Model() world.BlockModel

Model ...

type XPDropRange

type XPDropRange [2]int

XPDropRange holds the min & max XP drop amounts of blocks.

Source Files

Directories

Path Synopsis
Package cube provides types and functions to handle positions and rotations of voxel-based objects in a 3D world.
Package cube provides types and functions to handle positions and rotations of voxel-based objects in a 3D world.
Package model has world.BlockModel implementations for each world.Block implementation in the block package.
Package model has world.BlockModel implementations for each world.Block implementation in the block package.

Jump to

Keyboard shortcuts

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