item

package
v0.0.0-...-183dbea Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultConsumeDuration = (time.Second * 161) / 100

DefaultConsumeDuration is the default duration that consuming an item takes. Dried kelp takes half this time to be consumed.

Variables

View Source
var (
	// EnchantmentRarityCommon represents the common enchantment rarity.
	EnchantmentRarityCommon enchantmentRarityCommon
	// EnchantmentRarityUncommon represents the uncommon enchantment rarity.
	EnchantmentRarityUncommon enchantmentRarityUncommon
	// EnchantmentRarityRare represents the rare enchantment rarity.
	EnchantmentRarityRare enchantmentRarityRare
	// EnchantmentRarityVeryRare represents the very rare enchantment rarity.
	EnchantmentRarityVeryRare enchantmentRarityVeryRare
)
View Source
var (
	// TypeNone is the ToolType of items that are not tools.
	TypeNone = ToolType{-1}
	// TypePickaxe is the ToolType for pickaxes.
	TypePickaxe = ToolType{0}
	// TypeAxe is the ToolType for axes.
	TypeAxe = ToolType{1}
	// TypeHoe is the ToolType for hoes.
	TypeHoe = ToolType{2}
	// TypeShovel is the ToolType for shovels.
	TypeShovel = ToolType{3}
	// TypeShears is the ToolType for shears.
	TypeShears = ToolType{4}
	// TypeSword is the ToolType for swords.
	TypeSword = ToolType{5}

	// ToolTierWood is the ToolTier of wood tools. This is the lowest possible tier.
	ToolTierWood = ToolTier{HarvestLevel: 1, Durability: 59, BaseMiningEfficiency: 2, BaseAttackDamage: 1, EnchantmentValue: 15, Name: "wooden"}
	// ToolTierGold is the ToolTier of gold tools.
	ToolTierGold = ToolTier{HarvestLevel: 1, Durability: 32, BaseMiningEfficiency: 12, BaseAttackDamage: 1, EnchantmentValue: 22, Name: "golden"}
	// ToolTierStone is the ToolTier of stone tools.
	ToolTierStone = ToolTier{HarvestLevel: 2, Durability: 131, BaseMiningEfficiency: 4, BaseAttackDamage: 2, EnchantmentValue: 5, Name: "stone"}
	// ToolTierIron is the ToolTier of iron tools.
	ToolTierIron = ToolTier{HarvestLevel: 3, Durability: 250, BaseMiningEfficiency: 6, BaseAttackDamage: 3, EnchantmentValue: 14, Name: "iron"}
	// ToolTierDiamond is the ToolTier of diamond tools.
	ToolTierDiamond = ToolTier{HarvestLevel: 4, Durability: 1561, BaseMiningEfficiency: 8, BaseAttackDamage: 4, EnchantmentValue: 10, Name: "diamond"}
	// ToolTierNetherite is the ToolTier of netherite tools. This is the highest possible tier.
	ToolTierNetherite = ToolTier{HarvestLevel: 4, Durability: 2031, BaseMiningEfficiency: 9, BaseAttackDamage: 5, EnchantmentValue: 15, Name: "netherite"}
)

Functions

func ArmourTrimMaterials

func ArmourTrimMaterials() []world.Item

ArmourTrimMaterials returns all the items that can be trim materials.

func DisplayName

func DisplayName(item world.Item, locale language.Tag) string

DisplayName returns the display name of the item as shown in game in the language passed. It panics if an unknown item is passed in.

func EnchantmentID

func EnchantmentID(e EnchantmentType) (int, bool)

EnchantmentID attempts to return the ID the enchantment was registered with. If found, the id is returned and the bool true.

func RegisterEnchantment

func RegisterEnchantment(id int, enchantment EnchantmentType)

RegisterEnchantment registers an enchantment with the ID passed. Once registered, enchantments may be received by instantiating an EnchantmentType struct (e.g. enchantment.Protection{})

Types

type AmethystShard

type AmethystShard struct{}

AmethystShard is a crystalline mineral obtained from mining a fully grown amethyst cluster.

func (AmethystShard) EncodeItem

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

EncodeItem ...

func (AmethystShard) MaterialColour

func (AmethystShard) MaterialColour() string

MaterialColour ...

func (AmethystShard) TrimMaterial

func (AmethystShard) TrimMaterial() string

TrimMaterial ...

type Apple

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

Apple is a food item that can be eaten by the player.

func (Apple) AlwaysConsumable

func (Apple) AlwaysConsumable() bool

AlwaysConsumable ...

func (Apple) CompostChance

func (Apple) CompostChance() float64

CompostChance ...

func (Apple) Consume

func (a Apple) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Apple) ConsumeDuration

func (d Apple) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Apple) EncodeItem

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

EncodeItem ...

type Armour

type Armour interface {
	// DefencePoints returns the defence points that the armour provides when worn.
	DefencePoints() float64
	// Toughness returns the toughness that the armor provides when worn. The toughness reduces defense reduction
	// caused by increased damage.
	Toughness() float64
	// KnockBackResistance returns a number from 0-1 that decides the amount of knock back force that is
	// resisted upon being attacked. 1 knock back resistance point client-side translates to 10% knock back
	// reduction.
	KnockBackResistance() float64
}

Armour represents an item that may be worn as armour. Generally, these items provide armour points, which reduce damage taken. Some pieces of armour also provide toughness, which negates damage proportional to the total damage dealt.

type ArmourSmithingTemplate

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

func ArmourSmithingTemplateFromString

func ArmourSmithingTemplateFromString(name string) ArmourSmithingTemplate

ArmourSmithingTemplateFromString returns an armour smithing template based on a string.

func SmithingTemplates

func SmithingTemplates() []ArmourSmithingTemplate

SmithingTemplates returns all the ArmourSmithingTemplates

func TemplateBolt

func TemplateBolt() ArmourSmithingTemplate

TemplateBolt returns the Bolt Template.

func TemplateCoast

func TemplateCoast() ArmourSmithingTemplate

TemplateCoast returns the Coast Template.

func TemplateDune

func TemplateDune() ArmourSmithingTemplate

TemplateDune returns the Dune Template.

func TemplateEye

func TemplateEye() ArmourSmithingTemplate

TemplateEye returns the Eye Template.

func TemplateFlow

func TemplateFlow() ArmourSmithingTemplate

TemplateFlow returns the Flow Template.

func TemplateHost

func TemplateHost() ArmourSmithingTemplate

TemplateHost returns the Host Template.

func TemplateNetheriteUpgrade

func TemplateNetheriteUpgrade() ArmourSmithingTemplate

TemplateNetheriteUpgrade returns the Netherite Upgrade Template

func TemplateRaiser

func TemplateRaiser() ArmourSmithingTemplate

TemplateRaiser returns the Raiser Template.

func TemplateRib

func TemplateRib() ArmourSmithingTemplate

TemplateRib returns the Rib Template.

func TemplateSentry

func TemplateSentry() ArmourSmithingTemplate

TemplateSentry returns the Sentry Template.

func TemplateShaper

func TemplateShaper() ArmourSmithingTemplate

TemplateShaper returns the Shaper Template.

func TemplateSilence

func TemplateSilence() ArmourSmithingTemplate

TemplateSilence returns the Silence Template.

func TemplateSnout

func TemplateSnout() ArmourSmithingTemplate

TemplateSnout returns the Snout Template.

func TemplateSpire

func TemplateSpire() ArmourSmithingTemplate

TemplateSpire returns the Spire Template.

func TemplateTide

func TemplateTide() ArmourSmithingTemplate

TemplateTide returns the Tide Template.

func TemplateVex

func TemplateVex() ArmourSmithingTemplate

TemplateVex returns the Vex Template.

func TemplateWard

func TemplateWard() ArmourSmithingTemplate

TemplateWard returns the Ward Template.

func TemplateWayFinder

func TemplateWayFinder() ArmourSmithingTemplate

TemplateWayFinder returns the WayFinder Template.

func TemplateWild

func TemplateWild() ArmourSmithingTemplate

TemplateWild returns the Wild Template.

func (ArmourSmithingTemplate) String

func (s ArmourSmithingTemplate) String() string

String ...

func (ArmourSmithingTemplate) Uint8

func (s ArmourSmithingTemplate) Uint8() uint8

Uint8 returns the uint8 value of the smithing template type.

type ArmourTier

type ArmourTier interface {
	// BaseDurability is the base durability of armour with this tier. This is otherwise the durability of
	// the helmet with this tier.
	BaseDurability() float64
	// Toughness reduces the defense reduction caused by damage increases.
	Toughness() float64
	// KnockBackResistance is a number from 0-1 that decides the amount of knock back force that is resisted
	// upon being attacked. 1 knock back resistance point client-side translates to 10% knock back reduction.
	KnockBackResistance() float64
	// EnchantmentValue is the enchantment value of the armour used when selecting pseudo-random enchantments for
	// enchanting tables. When this value is high, the enchantments that are selected are more likely to be good.
	EnchantmentValue() int
	// Name is the name of the tier.
	Name() string
}

ArmourTier represents the tier, or material, that a piece of armour is made of.

func ArmourTiers

func ArmourTiers() []ArmourTier

ArmourTiers returns a list of all armour tiers.

type ArmourTierChain

type ArmourTierChain struct{}

ArmourTierChain is the ArmourTier of chain armour.

func (ArmourTierChain) BaseDurability

func (ArmourTierChain) BaseDurability() float64

func (ArmourTierChain) EnchantmentValue

func (ArmourTierChain) EnchantmentValue() int

func (ArmourTierChain) KnockBackResistance

func (ArmourTierChain) KnockBackResistance() float64

func (ArmourTierChain) Name

func (ArmourTierChain) Name() string

func (ArmourTierChain) Toughness

func (ArmourTierChain) Toughness() float64

type ArmourTierDiamond

type ArmourTierDiamond struct{}

ArmourTierDiamond is the ArmourTier of diamond armour.

func (ArmourTierDiamond) BaseDurability

func (ArmourTierDiamond) BaseDurability() float64

func (ArmourTierDiamond) EnchantmentValue

func (ArmourTierDiamond) EnchantmentValue() int

func (ArmourTierDiamond) KnockBackResistance

func (ArmourTierDiamond) KnockBackResistance() float64

func (ArmourTierDiamond) Name

func (ArmourTierDiamond) Name() string

func (ArmourTierDiamond) Toughness

func (ArmourTierDiamond) Toughness() float64

type ArmourTierGold

type ArmourTierGold struct{}

ArmourTierGold is the ArmourTier of gold armour.

func (ArmourTierGold) BaseDurability

func (ArmourTierGold) BaseDurability() float64

func (ArmourTierGold) EnchantmentValue

func (ArmourTierGold) EnchantmentValue() int

func (ArmourTierGold) KnockBackResistance

func (ArmourTierGold) KnockBackResistance() float64

func (ArmourTierGold) Name

func (ArmourTierGold) Name() string

func (ArmourTierGold) Toughness

func (ArmourTierGold) Toughness() float64

type ArmourTierIron

type ArmourTierIron struct{}

ArmourTierIron is the ArmourTier of iron armour.

func (ArmourTierIron) BaseDurability

func (ArmourTierIron) BaseDurability() float64

func (ArmourTierIron) EnchantmentValue

func (ArmourTierIron) EnchantmentValue() int

func (ArmourTierIron) KnockBackResistance

func (ArmourTierIron) KnockBackResistance() float64

func (ArmourTierIron) Name

func (ArmourTierIron) Name() string

func (ArmourTierIron) Toughness

func (ArmourTierIron) Toughness() float64

type ArmourTierLeather

type ArmourTierLeather struct {
	// Colour is the dyed colour of the armour.
	Colour color.RGBA
}

ArmourTierLeather is the ArmourTier of leather armour

func (ArmourTierLeather) BaseDurability

func (ArmourTierLeather) BaseDurability() float64

func (ArmourTierLeather) EnchantmentValue

func (ArmourTierLeather) EnchantmentValue() int

func (ArmourTierLeather) KnockBackResistance

func (ArmourTierLeather) KnockBackResistance() float64

func (ArmourTierLeather) Name

func (ArmourTierLeather) Name() string

func (ArmourTierLeather) Toughness

func (ArmourTierLeather) Toughness() float64

type ArmourTierNetherite

type ArmourTierNetherite struct{}

ArmourTierNetherite is the ArmourTier of netherite armour.

func (ArmourTierNetherite) BaseDurability

func (ArmourTierNetherite) BaseDurability() float64

func (ArmourTierNetherite) EnchantmentValue

func (ArmourTierNetherite) EnchantmentValue() int

func (ArmourTierNetherite) KnockBackResistance

func (ArmourTierNetherite) KnockBackResistance() float64

func (ArmourTierNetherite) Name

func (ArmourTierNetherite) Name() string

func (ArmourTierNetherite) Toughness

func (ArmourTierNetherite) Toughness() float64

type ArmourTrim

type ArmourTrim struct {
	Template ArmourSmithingTemplate
	Material ArmourTrimMaterial
}

type ArmourTrimMaterial

type ArmourTrimMaterial interface {
	// TrimMaterial returns the material name used for reading and writing trim data.
	TrimMaterial() string
	// MaterialColour returns the colour code used for internal text formatting.
	MaterialColour() string
}

func ArmourTrimMaterialFromString

func ArmourTrimMaterialFromString(name string) ArmourTrimMaterial

ArmourTrimMaterialFromString returns a TrimMaterial from a string.

type Arrow

type Arrow struct {
	// Tip is the potion effect that is tipped on the arrow.
	Tip potion.Potion
}

Arrow is used as ammunition for bows, crossbows, and dispensers. Arrows can be modified to imbue status effects on players and mobs.

func (Arrow) EncodeItem

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

EncodeItem ...

type Axe

type Axe struct {
	// Tier is the tier of the axe.
	Tier ToolTier
}

Axe is a tool generally used for mining wood-like blocks. It may also be used to break some plant-like blocks at a faster pace such as pumpkins.

func (Axe) AttackDamage

func (a Axe) AttackDamage() float64

AttackDamage ...

func (Axe) BaseMiningEfficiency

func (a Axe) BaseMiningEfficiency(world.Block) float64

BaseMiningEfficiency ...

func (Axe) DurabilityInfo

func (a Axe) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Axe) EnchantmentValue

func (a Axe) EnchantmentValue() int

EnchantmentValue ...

func (Axe) EncodeItem

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

EncodeItem ...

func (Axe) FuelInfo

func (a Axe) FuelInfo() FuelInfo

FuelInfo ...

func (Axe) HarvestLevel

func (a Axe) HarvestLevel() int

HarvestLevel ...

func (Axe) MaxCount

func (a Axe) MaxCount() int

MaxCount always returns 1.

func (Axe) RepairableBy

func (a Axe) RepairableBy(i Stack) bool

RepairableBy ...

func (Axe) SmeltInfo

func (a Axe) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Axe) ToolType

func (a Axe) ToolType() ToolType

ToolType ...

func (Axe) UseOnBlock

func (a Axe) UseOnBlock(pos cube.Pos, _ cube.Face, _ mgl64.Vec3, w *world.World, _ User, ctx *UseContext) bool

UseOnBlock handles the stripping of logs when a player clicks a log with an axe.

type BakedPotato

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

BakedPotato is a food item that can be eaten by the player.

func (BakedPotato) AlwaysConsumable

func (BakedPotato) AlwaysConsumable() bool

AlwaysConsumable ...

func (BakedPotato) CompostChance

func (BakedPotato) CompostChance() float64

CompostChance ...

func (BakedPotato) Consume

func (BakedPotato) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (BakedPotato) ConsumeDuration

func (d BakedPotato) ConsumeDuration() time.Duration

ConsumeDuration ...

func (BakedPotato) EncodeItem

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

EncodeItem ...

type BannerPattern

type BannerPattern struct {
	// Type represents the type of banner pattern. These types do not include all patterns that can be applied to a
	// banner.
	Type BannerPatternType
}

BannerPattern is an item used to customize banners inside looms.

func (BannerPattern) EncodeItem

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

EncodeItem ...

func (BannerPattern) MaxCount

func (b BannerPattern) MaxCount() int

MaxCount always returns 1.

type BannerPatternType

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

BannerPatternType represents a type of BannerPattern.

func BannerPatterns

func BannerPatterns() []BannerPatternType

BannerPatterns returns all possible banner patterns.

func BordureIndentedBannerPattern

func BordureIndentedBannerPattern() BannerPatternType

BordureIndentedBannerPattern represents the 'Bordure Indented' banner pattern type.

func CreeperBannerPattern

func CreeperBannerPattern() BannerPatternType

CreeperBannerPattern represents the 'Creeper' banner pattern type.

func FieldMasonedBannerPattern

func FieldMasonedBannerPattern() BannerPatternType

FieldMasonedBannerPattern represents the 'Field Masoned' banner pattern type.

func FlowerBannerPattern

func FlowerBannerPattern() BannerPatternType

FlowerBannerPattern represents the 'Flower' banner pattern type.

func GlobeBannerPattern

func GlobeBannerPattern() BannerPatternType

GlobeBannerPattern represents the 'Globe' banner pattern type.

func MojangBannerPattern

func MojangBannerPattern() BannerPatternType

MojangBannerPattern represents the 'Mojang' banner pattern type.

func PiglinBannerPattern

func PiglinBannerPattern() BannerPatternType

PiglinBannerPattern represents the 'Piglin' banner pattern type.

func SkullBannerPattern

func SkullBannerPattern() BannerPatternType

SkullBannerPattern represents the 'Skull' banner pattern type.

func (BannerPatternType) String

func (b BannerPatternType) String() string

String ...

func (BannerPatternType) Uint8

func (b BannerPatternType) Uint8() uint8

Uint8 returns the uint8 value of the banner pattern type.

type BeaconPayment

type BeaconPayment interface {
	PayableForBeacon() bool
}

BeaconPayment represents an item that may be used as payment for a beacon to select effects to be broadcast to surrounding players.

type Beef

type Beef struct {

	// Cooked is whether the beef is cooked.
	Cooked bool
	// contains filtered or unexported fields
}

Beef is a food item obtained from cows. It can be cooked in a furnace, smoker, or campfire.

func (Beef) AlwaysConsumable

func (Beef) AlwaysConsumable() bool

AlwaysConsumable ...

func (Beef) Consume

func (b Beef) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Beef) ConsumeDuration

func (d Beef) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Beef) EncodeItem

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

EncodeItem ...

func (Beef) SmeltInfo

func (b Beef) SmeltInfo() SmeltInfo

SmeltInfo ...

type Beetroot

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

Beetroot is a food and dye ingredient.

func (Beetroot) AlwaysConsumable

func (Beetroot) AlwaysConsumable() bool

AlwaysConsumable ...

func (Beetroot) CompostChance

func (Beetroot) CompostChance() float64

CompostChance ...

func (Beetroot) Consume

func (b Beetroot) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Beetroot) ConsumeDuration

func (d Beetroot) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Beetroot) EncodeItem

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

EncodeItem ...

type BeetrootSoup

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

BeetrootSoup is an unstackable food item.

func (BeetrootSoup) AlwaysConsumable

func (BeetrootSoup) AlwaysConsumable() bool

AlwaysConsumable ...

func (BeetrootSoup) Consume

func (BeetrootSoup) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (BeetrootSoup) ConsumeDuration

func (d BeetrootSoup) ConsumeDuration() time.Duration

ConsumeDuration ...

func (BeetrootSoup) EncodeItem

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

EncodeItem ...

func (BeetrootSoup) MaxCount

func (BeetrootSoup) MaxCount() int

MaxCount ...

type BlazePowder

type BlazePowder struct{}

BlazePowder is an item made from a blaze rod obtained from blazes.

func (BlazePowder) EncodeItem

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

EncodeItem ...

type BlazeRod

type BlazeRod struct{}

BlazeRod is an item exclusively obtained from blazes.

func (BlazeRod) EncodeItem

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

EncodeItem ...

func (BlazeRod) FuelInfo

func (BlazeRod) FuelInfo() FuelInfo

FuelInfo ...

type Bone

type Bone struct{}

Bone is an item primarily obtained as a drop from skeletons and their variants.

func (Bone) EncodeItem

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

EncodeItem ...

type BoneMeal

type BoneMeal struct{}

BoneMeal is an item used to force growth in plants & crops.

func (BoneMeal) EncodeItem

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

EncodeItem ...

func (BoneMeal) UseOnBlock

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

UseOnBlock ...

type BoneMealAffected

type BoneMealAffected interface {
	// BoneMeal attempts to affect the block using a bone meal item.
	BoneMeal(pos cube.Pos, w *world.World) bool
}

BoneMealAffected represents a block that is affected when bone meal is used on it.

type Book

type Book struct{}

Book is an item used in enchanting and crafting.

func (Book) EnchantmentValue

func (b Book) EnchantmentValue() int

EnchantmentValue ...

func (Book) EncodeItem

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

EncodeItem ...

type BookAndQuill

type BookAndQuill struct {
	// Pages represents the pages within the book.
	Pages []string
}

BookAndQuill is an item used to write WrittenBook(s).

func (BookAndQuill) DecodeNBT

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

DecodeNBT ...

func (BookAndQuill) DeletePage

func (b BookAndQuill) DeletePage(page int) BookAndQuill

DeletePage attempts to delete a page from the book.

func (BookAndQuill) EncodeItem

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

EncodeItem ...

func (BookAndQuill) EncodeNBT

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

EncodeNBT ...

func (BookAndQuill) InsertPage

func (b BookAndQuill) InsertPage(page int, text string) BookAndQuill

InsertPage attempts to insert a page within the book

func (BookAndQuill) MaxCount

func (BookAndQuill) MaxCount() int

MaxCount always returns 1.

func (BookAndQuill) Page

func (b BookAndQuill) Page(page int) (string, bool)

Page returns a specific page from the book and true when the page exists. It will otherwise return an empty string and false.

func (BookAndQuill) SetPage

func (b BookAndQuill) SetPage(page int, text string) BookAndQuill

SetPage writes a page to the book, if the page doesn't exist it will be created. It will panic if the text is longer then 256 characters. It will return a new book representing this data.

func (BookAndQuill) SwapPages

func (b BookAndQuill) SwapPages(pageOne, pageTwo int) BookAndQuill

SwapPages swaps two different pages, it will panic if the largest of the two numbers doesn't exist. It will return the newly updated pages.

func (BookAndQuill) TotalPages

func (b BookAndQuill) TotalPages() int

TotalPages returns the total number of pages in the book.

type Boots

type Boots struct {
	// Tier is the tier of the boots.
	Tier ArmourTier
}

Boots are a defensive item that may be equipped in the boots armour slot. They come in several tiers, like leather, gold, chain, iron and diamond.

func (Boots) Boots

func (b Boots) Boots() bool

Boots ...

func (Boots) DecodeNBT

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

DecodeNBT ...

func (Boots) DefencePoints

func (b Boots) DefencePoints() float64

DefencePoints ...

func (Boots) DurabilityInfo

func (b Boots) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Boots) EnchantmentValue

func (b Boots) EnchantmentValue() int

EnchantmentValue ...

func (Boots) EncodeItem

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

EncodeItem ...

func (Boots) EncodeNBT

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

EncodeNBT ...

func (Boots) KnockBackResistance

func (b Boots) KnockBackResistance() float64

KnockBackResistance ...

func (Boots) MaxCount

func (b Boots) MaxCount() int

MaxCount always returns 1.

func (Boots) RepairableBy

func (b Boots) RepairableBy(i Stack) bool

RepairableBy ...

func (Boots) SmeltInfo

func (b Boots) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Boots) Toughness

func (b Boots) Toughness() float64

Toughness ...

func (Boots) Use

func (b Boots) Use(_ *world.World, _ User, ctx *UseContext) bool

Use handles the auto-equipping of boots in the armour slot when using it.

type BootsType

type BootsType interface {
	Armour
	Boots() bool
}

BootsType are an Armour item that can be worn in the boots slot.

type BottleOfEnchanting

type BottleOfEnchanting struct{}

BottleOfEnchanting is a bottle that releases experience orbs when thrown.

func (BottleOfEnchanting) EncodeItem

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

EncodeItem ...

func (BottleOfEnchanting) Use

func (b BottleOfEnchanting) Use(w *world.World, user User, ctx *UseContext) bool

Use ...

type Bow

type Bow struct{}

Bow is a ranged weapon that fires arrows.

func (Bow) DurabilityInfo

func (Bow) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Bow) EnchantmentValue

func (Bow) EnchantmentValue() int

EnchantmentValue ...

func (Bow) EncodeItem

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

EncodeItem ...

func (Bow) FuelInfo

func (Bow) FuelInfo() FuelInfo

FuelInfo ...

func (Bow) MaxCount

func (Bow) MaxCount() int

MaxCount always returns 1.

func (Bow) Release

func (Bow) Release(releaser Releaser, duration time.Duration, ctx *UseContext)

Release ...

func (Bow) Requirements

func (Bow) Requirements() []Stack

Requirements returns the required items to release this item.

type Bowl

type Bowl struct{}

Bowl is a container that can hold certain foods.

func (Bowl) EncodeItem

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

EncodeItem ...

func (Bowl) FuelInfo

func (Bowl) FuelInfo() FuelInfo

FuelInfo ...

type Bread

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

Bread is a food item that can be eaten by the player.

func (Bread) AlwaysConsumable

func (Bread) AlwaysConsumable() bool

AlwaysConsumable ...

func (Bread) CompostChance

func (Bread) CompostChance() float64

CompostChance ...

func (Bread) Consume

func (Bread) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Bread) ConsumeDuration

func (d Bread) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Bread) EncodeItem

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

EncodeItem ...

type Brick

type Brick struct{}

Brick is an item made from clay, and is used for making bricks and flower pots.

func (Brick) EncodeItem

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

EncodeItem ...

func (Brick) PotDecoration

func (Brick) PotDecoration() bool

PotDecoration ...

type Bucket

type Bucket struct {
	// Content is the content that the bucket has. By default, this value resolves to an empty bucket.
	Content BucketContent
}

Bucket is a tool used to carry water, lava and fish.

func (Bucket) AlwaysConsumable

func (b Bucket) AlwaysConsumable() bool

AlwaysConsumable ...

func (Bucket) CanConsume

func (b Bucket) CanConsume() bool

CanConsume ...

func (Bucket) Consume

func (b Bucket) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Bucket) ConsumeDuration

func (b Bucket) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Bucket) Empty

func (b Bucket) Empty() bool

Empty returns true if the bucket is empty.

func (Bucket) EncodeItem

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

EncodeItem ...

func (Bucket) FuelInfo

func (b Bucket) FuelInfo() FuelInfo

FuelInfo ...

func (Bucket) MaxCount

func (b Bucket) MaxCount() int

MaxCount returns 16.

func (Bucket) UseOnBlock

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

UseOnBlock handles the bucket filling and emptying logic.

type BucketContent

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

BucketContent is the content of a bucket.

func LiquidBucketContent

func LiquidBucketContent(l world.Liquid) BucketContent

LiquidBucketContent returns a new BucketContent with the liquid passed in.

func MilkBucketContent

func MilkBucketContent() BucketContent

MilkBucketContent returns a new BucketContent with the milk flag set.

func (BucketContent) Liquid

func (b BucketContent) Liquid() (world.Liquid, bool)

Liquid returns the world.Liquid that a Bucket with this BucketContent places. If this BucketContent does not place a liquid block, false is returned.

func (BucketContent) LiquidType

func (b BucketContent) LiquidType() string

LiquidType returns the type of liquid the bucket contains.

func (BucketContent) String

func (b BucketContent) String() string

String converts the BucketContent to a string.

type Carrier

type Carrier interface {
	world.Entity
	// HeldItems returns the items currently held by the entity. Viewers of the entity will be able to see
	// these items.
	HeldItems() (mainHand, offHand Stack)
}

Carrier represents an entity that is able to carry an item.

type CarrotOnAStick

type CarrotOnAStick struct{}

CarrotOnAStick is an item that can be used to control saddled pigs.

func (CarrotOnAStick) EncodeItem

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

EncodeItem ...

func (CarrotOnAStick) MaxCount

func (CarrotOnAStick) MaxCount() int

MaxCount ...

type Charcoal

type Charcoal struct{}

Charcoal is an item obtained by smelting logs or wood.

func (Charcoal) EncodeItem

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

EncodeItem ...

func (Charcoal) FuelInfo

func (Charcoal) FuelInfo() FuelInfo

FuelInfo ...

type Chestplate

type Chestplate struct {
	// Tier is the tier of the chestplate.
	Tier ArmourTier
}

Chestplate is a defensive item that may be equipped in the chestplate slot. Generally, chestplates provide the most defence of all armour items.

func (Chestplate) Chestplate

func (c Chestplate) Chestplate() bool

Chestplate ...

func (Chestplate) DecodeNBT

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

DecodeNBT ...

func (Chestplate) DefencePoints

func (c Chestplate) DefencePoints() float64

DefencePoints ...

func (Chestplate) DurabilityInfo

func (c Chestplate) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Chestplate) EnchantmentValue

func (c Chestplate) EnchantmentValue() int

EnchantmentValue ...

func (Chestplate) EncodeItem

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

EncodeItem ...

func (Chestplate) EncodeNBT

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

EncodeNBT ...

func (Chestplate) KnockBackResistance

func (c Chestplate) KnockBackResistance() float64

KnockBackResistance ...

func (Chestplate) MaxCount

func (c Chestplate) MaxCount() int

MaxCount always returns 1.

func (Chestplate) RepairableBy

func (c Chestplate) RepairableBy(i Stack) bool

RepairableBy ...

func (Chestplate) SmeltInfo

func (c Chestplate) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Chestplate) Toughness

func (c Chestplate) Toughness() float64

Toughness ...

func (Chestplate) Use

func (c Chestplate) Use(_ *world.World, _ User, ctx *UseContext) bool

Use handles the using of a chestplate to auto-equip it in the designated armour slot.

type ChestplateType

type ChestplateType interface {
	Armour
	Chestplate() bool
}

ChestplateType is an Armour item that can be worn in the chestplate slot.

type Chicken

type Chicken struct {

	// Cooked is whether the chicken is cooked.
	Cooked bool
	// contains filtered or unexported fields
}

Chicken is a food item obtained from chickens. It can be cooked in a furnace, smoker, or campfire.

func (Chicken) AlwaysConsumable

func (Chicken) AlwaysConsumable() bool

AlwaysConsumable ...

func (Chicken) Consume

func (c Chicken) Consume(_ *world.World, co Consumer) Stack

Consume ...

func (Chicken) ConsumeDuration

func (d Chicken) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Chicken) EncodeItem

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

EncodeItem ...

func (Chicken) SmeltInfo

func (c Chicken) SmeltInfo() SmeltInfo

SmeltInfo ...

type ClayBall

type ClayBall struct{}

ClayBall is obtained from mining clay blocks

func (ClayBall) EncodeItem

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

EncodeItem ...

func (ClayBall) SmeltInfo

func (ClayBall) SmeltInfo() SmeltInfo

SmeltInfo ...

type Clock

type Clock struct{}

Clock is used to measure and display in-game time.

func (Clock) EncodeItem

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

EncodeItem ...

type Coal

type Coal struct{}

Coal is an item used as fuel & crafting torches.

func (Coal) EncodeItem

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

EncodeItem ...

func (Coal) FuelInfo

func (Coal) FuelInfo() FuelInfo

FuelInfo ...

type Cod

type Cod struct {

	// Cooked is whether the cod is cooked.
	Cooked bool
	// contains filtered or unexported fields
}

Cod is a food item obtained from cod. It can be cooked in a furnace, smoker, or campfire.

func (Cod) AlwaysConsumable

func (Cod) AlwaysConsumable() bool

AlwaysConsumable ...

func (Cod) Consume

func (c Cod) Consume(_ *world.World, co Consumer) Stack

Consume ...

func (Cod) ConsumeDuration

func (d Cod) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Cod) EncodeItem

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

EncodeItem ...

func (Cod) SmeltInfo

func (c Cod) SmeltInfo() SmeltInfo

SmeltInfo ...

type Colour

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

Colour represents the colour of a block. Typically, Minecraft blocks have a total of 16 different colours.

func ColourBlack

func ColourBlack() Colour

ColourBlack returns the black colour.

func ColourBlue

func ColourBlue() Colour

ColourBlue returns the blue colour.

func ColourBrown

func ColourBrown() Colour

ColourBrown returns the brown colour.

func ColourCyan

func ColourCyan() Colour

ColourCyan returns the cyan colour.

func ColourGreen

func ColourGreen() Colour

ColourGreen returns the green colour.

func ColourGrey

func ColourGrey() Colour

ColourGrey returns the grey colour.

func ColourLightBlue

func ColourLightBlue() Colour

ColourLightBlue returns the light blue colour.

func ColourLightGrey

func ColourLightGrey() Colour

ColourLightGrey returns the light grey colour.

func ColourLime

func ColourLime() Colour

ColourLime returns the lime colour.

func ColourMagenta

func ColourMagenta() Colour

ColourMagenta returns the magenta colour.

func ColourOrange

func ColourOrange() Colour

ColourOrange returns the orange colour.

func ColourPink

func ColourPink() Colour

ColourPink returns the pink colour.

func ColourPurple

func ColourPurple() Colour

ColourPurple returns the purple colour.

func ColourRed

func ColourRed() Colour

ColourRed returns the red colour.

func ColourWhite

func ColourWhite() Colour

ColourWhite returns the white colour.

func ColourYellow

func ColourYellow() Colour

ColourYellow returns the yellow colour.

func Colours

func Colours() []Colour

Colours returns a list of all existing colours.

func (Colour) RGBA

func (c Colour) RGBA() color.RGBA

RGBA returns the colour as RGBA. The alpha channel is always set to the maximum value. Colour values as returned here were obtained by placing signs in a world with all possible dyes used on them. The world was then loaded in Dragonfly to read their respective colours.

func (Colour) SilverString

func (c Colour) SilverString() string

SilverString returns the name of the colour, with light_gray being replaced by silver.

func (Colour) String

func (c Colour) String() string

String ...

func (Colour) Uint8

func (c Colour) Uint8() uint8

Uint8 ...

type Compass

type Compass struct{}

Compass is an item used to find the spawn position of a world.

func (Compass) EncodeItem

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

EncodeItem ...

type Compostable

type Compostable interface {
	// CompostChance returns the chance the item will produce a layer of compost in the range of 0-1.
	CompostChance() float64
}

Compostable represents an item that may be used to fill up a composter.

type Consumable

type Consumable interface {
	// AlwaysConsumable specifies if the item is always consumable. Normal food can generally only be consumed
	// when the food bar is not full or when in creative mode. Returning true here means the item can always
	// be consumed, like golden apples or potions.
	AlwaysConsumable() bool
	// ConsumeDuration is the duration consuming the item takes. If the player is using the item for at least
	// this duration, the item will be consumed and have its Consume method called.
	ConsumeDuration() time.Duration
	// Consume consumes one item of the Stack that the Consumable is in. The Stack returned is added back to
	// the inventory after consuming the item. For potions, for example, an empty bottle is returned.
	Consume(w *world.World, c Consumer) Stack
}

Consumable represents an item that may be consumed by a player. If an item implements this interface, a player may use and hold the item to consume it.

type Consumer

type Consumer interface {
	User
	// Saturate saturates the Consumer's food bar by the amount of food points passed and the saturation by
	// up to as many saturation points as passed. The final saturation will never exceed the final food level.
	Saturate(food int, saturation float64)
	// AddEffect adds an effect.Effect to the Consumer. If the effect is instant, it is applied to the Consumer
	// immediately. If not, the effect is applied to the consumer every time the Tick method is called.
	// AddEffect will overwrite any effects present if the level of the effect is higher than the existing one, or
	// if the effects' levels are equal and the new effect has a longer duration.
	AddEffect(e effect.Effect)
	// RemoveEffect removes any effect that might currently be active on the Consumer.
	RemoveEffect(e effect.Type)
	// Effects returns any effect currently applied to the Consumer. The returned effects are guaranteed not to have
	// expired when returned.
	Effects() []effect.Effect
}

Consumer represents a User that is able to consume Consumable items.

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

Cookie is a food item that can be obtained in large quantities, but do not restore hunger or saturation significantly.

func (Cookie) AlwaysConsumable

func (Cookie) AlwaysConsumable() bool

AlwaysConsumable ...

func (Cookie) CompostChance

func (Cookie) CompostChance() float64

CompostChance ...

func (Cookie) Consume

func (Cookie) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Cookie) ConsumeDuration

func (d Cookie) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Cookie) EncodeItem

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

EncodeItem ...

type Cooldown

type Cooldown interface {
	// Cooldown is the duration of the cooldown.
	Cooldown() time.Duration
}

Cooldown represents an item that has a cooldown.

type CopperIngot

type CopperIngot struct{}

CopperIngot is a metal ingot melted from copper ore.

func (CopperIngot) EncodeItem

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

EncodeItem ...

func (CopperIngot) MaterialColour

func (CopperIngot) MaterialColour() string

MaterialColour ...

func (CopperIngot) TrimMaterial

func (CopperIngot) TrimMaterial() string

TrimMaterial ...

type Diamond

type Diamond struct{}

Diamond is a rare mineral obtained from diamond ore or loot chests.

func (Diamond) EncodeItem

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

EncodeItem ...

func (Diamond) MaterialColour

func (Diamond) MaterialColour() string

MaterialColour ...

func (Diamond) PayableForBeacon

func (Diamond) PayableForBeacon() bool

PayableForBeacon ...

func (Diamond) TrimMaterial

func (Diamond) TrimMaterial() string

TrimMaterial ...

type DiscFragment

type DiscFragment struct{}

DiscFragment is a music disc fragment obtained from ancient city loot chests. They are extremely rare to find and nine of them in a crafting table makes a music disc named, "5".

func (DiscFragment) EncodeItem

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

EncodeItem ...

type DragonBreath

type DragonBreath struct{}

DragonBreath is a brewing item that is used solely to make lingering potions.

func (DragonBreath) EncodeItem

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

EncodeItem ...

type DriedKelp

type DriedKelp struct{}

DriedKelp is a food item that can be quickly eaten by the player.

func (DriedKelp) AlwaysConsumable

func (DriedKelp) AlwaysConsumable() bool

AlwaysConsumable ...

func (DriedKelp) CompostChance

func (DriedKelp) CompostChance() float64

CompostChance ...

func (DriedKelp) Consume

func (DriedKelp) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (DriedKelp) ConsumeDuration

func (DriedKelp) ConsumeDuration() time.Duration

ConsumeDuration ...

func (DriedKelp) EncodeItem

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

EncodeItem ...

type Drinkable

type Drinkable interface {
	// Drinkable returns if the item can be drunk or not.
	Drinkable() bool
}

Drinkable represents a custom item that can be drunk. It is used to make the client show the correct drinking animation when a player is using an item. This will only have an effect on non-vanilla items.

type DurabilityInfo

type DurabilityInfo struct {
	// MaxDurability is the maximum durability that this item may have. This field must be positive for the
	// durability to function properly.
	MaxDurability int
	// BrokenItem is the item created when the item is broken. For most durable items, this is simply an
	// air item.
	BrokenItem func() Stack
	// AttackDurability and BreakDurability are the losses in durability that the item sustains when they are
	// used to do the respective actions.
	AttackDurability, BreakDurability int
	// Persistent is true if the item is persistent, i.e. it will not be destroyed when at its last durability stage.
	Persistent bool
}

DurabilityInfo is the info of a durable item. It includes fields that must be set in order to define durability related behaviour.

type Durable

type Durable interface {
	// DurabilityInfo returns info related to the durability of an item.
	DurabilityInfo() DurabilityInfo
}

Durable represents an item that has durability, and may therefore be broken. Some durable items, when broken, create a new item, such as an elytra.

type Dye

type Dye struct {
	// Colour is the colour of the dye.
	Colour Colour
}

Dye is an item that comes in 16 colours which allows you to colour blocks like concrete and sheep.

func (Dye) EncodeItem

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

EncodeItem ...

func (Dye) UseOnBlock

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

UseOnBlock implements the colouring behaviour of signs.

type EchoShard

type EchoShard struct{}

EchoShard is an item found in ancient cities which can be used to craft recovery compasses.

func (EchoShard) EncodeItem

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

EncodeItem ...

type Egg

type Egg struct{}

Egg is an item that can be used to craft food items, or as a throwable entity to spawn chicks.

func (Egg) EncodeItem

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

EncodeItem ...

func (Egg) MaxCount

func (e Egg) MaxCount() int

MaxCount ...

func (Egg) Use

func (e Egg) Use(w *world.World, user User, ctx *UseContext) bool

Use ...

type Elytra

type Elytra struct{}

Elytra is a pair of rare wings found in end ships that are the only single-item source of flight in Survival mode.

func (Elytra) Chestplate

func (Elytra) Chestplate() bool

Chestplate ...

func (Elytra) DefencePoints

func (Elytra) DefencePoints() float64

DefencePoints ...

func (Elytra) DurabilityInfo

func (Elytra) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Elytra) EncodeItem

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

EncodeItem ...

func (Elytra) KnockBackResistance

func (e Elytra) KnockBackResistance() float64

KnockBackResistance ...

func (Elytra) MaxCount

func (Elytra) MaxCount() int

MaxCount always returns 1.

func (Elytra) RepairableBy

func (Elytra) RepairableBy(i Stack) bool

RepairableBy ...

func (Elytra) Toughness

func (e Elytra) Toughness() float64

Toughness ...

func (Elytra) Use

func (Elytra) Use(_ *world.World, _ User, ctx *UseContext) bool

Use handles the using of an elytra to auto-equip it in an armour slot.

type Emerald

type Emerald struct{}

Emerald is a rare mineral obtained from emerald ore or from villagers.

func (Emerald) EncodeItem

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

EncodeItem ...

func (Emerald) MaterialColour

func (Emerald) MaterialColour() string

MaterialColour ...

func (Emerald) PayableForBeacon

func (Emerald) PayableForBeacon() bool

PayableForBeacon ...

func (Emerald) TrimMaterial

func (Emerald) TrimMaterial() string

TrimMaterial ...

type Enchantable

type Enchantable interface {
	// EnchantmentValue returns the value the item may inhibit on possible enchantments.
	EnchantmentValue() int
}

Enchantable is an interface that can be implemented by items that can be enchanted through an enchanting table.

type EnchantedApple

type EnchantedApple struct{}

EnchantedApple is a rare variant of the golden apple that has stronger effects.

func (EnchantedApple) AlwaysConsumable

func (EnchantedApple) AlwaysConsumable() bool

AlwaysConsumable ...

func (EnchantedApple) Consume

func (EnchantedApple) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (EnchantedApple) ConsumeDuration

func (EnchantedApple) ConsumeDuration() time.Duration

ConsumeDuration ...

func (EnchantedApple) EncodeItem

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

EncodeItem ...

type EnchantedBook

type EnchantedBook struct{}

EnchantedBook is an item that lets players add enchantments to certain items using an anvil.

func (EnchantedBook) EncodeItem

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

EncodeItem ...

func (EnchantedBook) MaxCount

func (b EnchantedBook) MaxCount() int

MaxCount ...

type Enchantment

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

Enchantment is an enchantment that can be applied to a Stack. It holds an EnchantmentType and level that influences the power of the enchantment.

func NewEnchantment

func NewEnchantment(t EnchantmentType, lvl int) Enchantment

NewEnchantment creates and returns an Enchantment with a specific EnchantmentType and level. If the level passed exceeds EnchantmentType.MaxLevel, NewEnchantment panics.

func (Enchantment) Level

func (e Enchantment) Level() int

Level returns the current level of the Enchantment as passed to NewEnchantment upon construction.

func (Enchantment) Type

func (e Enchantment) Type() EnchantmentType

Type returns the EnchantmentType of the Enchantment as passed to NewEnchantment upon construction.

type EnchantmentRarity

type EnchantmentRarity interface {
	// Name returns the name of the enchantment rarity.
	Name() string
	// Cost returns the cost of the enchantment rarity.
	Cost() int
	// Weight returns the weight of the enchantment rarity.
	Weight() int
}

EnchantmentRarity represents an enchantment rarity for enchantments. These rarities may inhibit certain properties, such as anvil costs or enchanting table weights.

type EnchantmentType

type EnchantmentType interface {
	// Name returns the name of the enchantment.
	Name() string
	// MaxLevel returns the maximum level the enchantment should be able to have.
	MaxLevel() int
	// Cost returns the minimum and maximum cost the enchantment may inhibit. The higher this range is, the more likely
	// better enchantments are to be selected.
	Cost(level int) (int, int)
	// Rarity returns the enchantment's rarity.
	Rarity() EnchantmentRarity
	// CompatibleWithEnchantment is called when an enchantment is added to an item. It can be used to check if
	// the enchantment is compatible with other enchantments.
	CompatibleWithEnchantment(t EnchantmentType) bool
	// CompatibleWithItem is also called when an enchantment is added to an item. It can be used to check if
	// the enchantment is compatible with the item type.
	CompatibleWithItem(i world.Item) bool
}

EnchantmentType represents an enchantment type that can be applied to a Stack, with specific behaviour that modifies the Stack's behaviour. An instance of an EnchantmentType may be created using NewEnchantment.

func EnchantmentByID

func EnchantmentByID(id int) (EnchantmentType, bool)

EnchantmentByID attempts to return an enchantment by the ID it was registered with. If found, the enchantment found is returned and the bool true.

func Enchantments

func Enchantments() []EnchantmentType

Enchantments returns a slice of all registered enchantments.

type EnderPearl

type EnderPearl struct{}

EnderPearl is a smooth, greenish-blue item used to teleport and to make an eye of ender.

func (EnderPearl) Cooldown

func (EnderPearl) Cooldown() time.Duration

Cooldown ...

func (EnderPearl) EncodeItem

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

EncodeItem ...

func (EnderPearl) MaxCount

func (EnderPearl) MaxCount() int

MaxCount ...

func (EnderPearl) Use

func (e EnderPearl) Use(w *world.World, user User, ctx *UseContext) bool

Use ...

type Feather

type Feather struct{}

Feather are items dropped by chickens and parrots, as well as tamed cats as morning gifts.

func (Feather) EncodeItem

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

EncodeItem ...

type FermentedSpiderEye

type FermentedSpiderEye struct{}

FermentedSpiderEye is a brewing ingredient.

func (FermentedSpiderEye) EncodeItem

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

EncodeItem ...

type FireCharge

type FireCharge struct{}

FireCharge is an item that can be used to place fire when used on a block, or shot from a dispenser to create a small fireball.

func (FireCharge) EncodeItem

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

EncodeItem ...

func (FireCharge) UseOnBlock

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

UseOnBlock ...

type Firework

type Firework struct {
	// Duration is the flight duration of the firework.
	Duration time.Duration
	// Explosions is the list of explosions the firework should create when launched.
	Explosions []FireworkExplosion
}

Firework is an item (and entity) used for creating decorative explosions, boosting when flying with elytra, and loading into a crossbow as ammunition.

func (Firework) DecodeNBT

func (f Firework) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (Firework) EncodeItem

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

EncodeItem ...

func (Firework) EncodeNBT

func (f Firework) EncodeNBT() map[string]any

EncodeNBT ...

func (Firework) RandomisedDuration

func (f Firework) RandomisedDuration() time.Duration

RandomisedDuration returns the randomised flight duration of the firework.

func (Firework) Use

func (f Firework) Use(w *world.World, user User, ctx *UseContext) bool

Use ...

func (Firework) UseOnBlock

func (f Firework) UseOnBlock(blockPos cube.Pos, _ cube.Face, clickPos mgl64.Vec3, w *world.World, user User, ctx *UseContext) bool

UseOnBlock ...

type FireworkExplosion

type FireworkExplosion struct {
	// Shape represents the shape of the explosion.
	Shape FireworkShape
	// Colour is the colour of the explosion.
	Colour Colour
	// Fade is the colour the explosion should fade into. Fades must be set to true in order for this to function.
	Fade Colour
	// Fades is true if the explosion should fade into the fade colour.
	Fades bool
	// Twinkle is true if the explosion should twinkle on explode.
	Twinkle bool
	// Trail is true if the explosion should have a trail.
	Trail bool
}

FireworkExplosion represents an explosion of a firework.

func (FireworkExplosion) DecodeNBT

func (f FireworkExplosion) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (FireworkExplosion) EncodeNBT

func (f FireworkExplosion) EncodeNBT() map[string]any

EncodeNBT ...

type FireworkShape

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

FireworkShape represents a shape of a firework.

func FireworkShapeBurst

func FireworkShapeBurst() FireworkShape

FireworkShapeBurst is a burst firework.

func FireworkShapeCreeperHead

func FireworkShapeCreeperHead() FireworkShape

FireworkShapeCreeperHead is a creeper head firework.

func FireworkShapeHugeSphere

func FireworkShapeHugeSphere() FireworkShape

FireworkShapeHugeSphere is a huge sphere firework.

func FireworkShapeSmallSphere

func FireworkShapeSmallSphere() FireworkShape

FireworkShapeSmallSphere is a small sphere firework.

func FireworkShapeStar

func FireworkShapeStar() FireworkShape

FireworkShapeStar is a star firework.

func FireworkShapes

func FireworkShapes() []FireworkShape

FireworkShapes ...

func (FireworkShape) Name

func (f FireworkShape) Name() string

Name ...

func (FireworkShape) String

func (f FireworkShape) String() string

String ...

func (FireworkShape) Uint8

func (f FireworkShape) Uint8() uint8

Uint8 returns the firework as a uint8.

type FireworkStar

type FireworkStar struct {
	FireworkExplosion
}

FireworkStar is an item used to determine the color, effect, and shape of firework rockets.

func (FireworkStar) DecodeNBT

func (f FireworkStar) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (FireworkStar) EncodeItem

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

EncodeItem ...

func (FireworkStar) EncodeNBT

func (f FireworkStar) EncodeNBT() map[string]any

EncodeNBT ...

type Flint

type Flint struct{}

Flint is an item dropped rarely by gravel.

func (Flint) EncodeItem

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

EncodeItem ...

type FlintAndSteel

type FlintAndSteel struct{}

FlintAndSteel is an item used to light blocks on fire.

func (FlintAndSteel) DurabilityInfo

func (f FlintAndSteel) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (FlintAndSteel) EncodeItem

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

EncodeItem ...

func (FlintAndSteel) MaxCount

func (f FlintAndSteel) MaxCount() int

MaxCount ...

func (FlintAndSteel) UseOnBlock

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

UseOnBlock ...

type Fuel

type Fuel interface {
	// FuelInfo returns information of the item related to its fuel capabilities.
	FuelInfo() FuelInfo
}

Fuel represents an item that can be used as fuel in a smelter, such as a blast furnace, furnace, or smoker.

type FuelInfo

type FuelInfo struct {
	// Duration returns the amount of time the fuel can be used to burn an input in a smelter.
	Duration time.Duration
	// Residue is the resulting item from burning the fuel in a smelter.
	Residue Stack
}

FuelInfo is a struct returned by items that implement Fuel. It contains information about the amount of fuel time it gives, and the residue created from burning the fuel.

func (FuelInfo) WithResidue

func (f FuelInfo) WithResidue(residue Stack) FuelInfo

WithResidue returns a new FuelInfo with a residue.

type GhastTear

type GhastTear struct{}

GhastTear is a brewing item dropped by ghasts.

func (GhastTear) EncodeItem

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

EncodeItem ...

type GlassBottle

type GlassBottle struct{}

GlassBottle is an item that can hold various liquids.

func (GlassBottle) EncodeItem

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

EncodeItem ...

func (GlassBottle) UseOnBlock

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

UseOnBlock ...

type Glinted

type Glinted interface {
	// Glinted returns whether the item has an enchantment glint.
	Glinted() bool
}

Glinted represents a custom item that can have a permanent enchantment glint, this glint is purely cosmetic and will show regardless of whether it is actually enchanted. An example of this is the enchanted golden apple.

type GlisteringMelonSlice

type GlisteringMelonSlice struct{}

GlisteringMelonSlice is an inedible item used for brewing potions of healing. It is also one of the many potion ingredients that can be used to make mundane potions.

func (GlisteringMelonSlice) EncodeItem

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

EncodeItem ...

type GlowstoneDust

type GlowstoneDust struct{}

GlowstoneDust is dropped when breaking the glowstone block.

func (GlowstoneDust) EncodeItem

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

EncodeItem ...

type GoatHorn

type GoatHorn struct {

	// Type is the type of the goat horn, determining the sound it plays.
	Type sound.Horn
	// contains filtered or unexported fields
}

GoatHorn is an item dropped by goats. It has eight variants, and each plays a unique sound when used which can be heard by players in a large radius.

func (GoatHorn) Cooldown

func (GoatHorn) Cooldown() time.Duration

Cooldown ...

func (GoatHorn) EncodeItem

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

EncodeItem ...

func (GoatHorn) MaxCount

func (GoatHorn) MaxCount() int

MaxCount ...

func (GoatHorn) Release

func (GoatHorn) Release(Releaser, time.Duration, *UseContext)

func (GoatHorn) Requirements

func (GoatHorn) Requirements() []Stack

func (GoatHorn) Use

func (g GoatHorn) Use(w *world.World, u User, _ *UseContext) bool

Use ...

type GoldIngot

type GoldIngot struct{}

GoldIngot is a metal ingot melted from raw gold or obtained from loot chests.

func (GoldIngot) EncodeItem

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

EncodeItem ...

func (GoldIngot) MaterialColour

func (GoldIngot) MaterialColour() string

MaterialColour ...

func (GoldIngot) PayableForBeacon

func (GoldIngot) PayableForBeacon() bool

PayableForBeacon ...

func (GoldIngot) TrimMaterial

func (GoldIngot) TrimMaterial() string

TrimMaterial ...

type GoldNugget

type GoldNugget struct{}

GoldNugget is an item used to craft gold ingots & other various gold items.

func (GoldNugget) EncodeItem

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

EncodeItem ...

type GoldenApple

type GoldenApple struct{}

GoldenApple is a special food item that bestows beneficial effects.

func (GoldenApple) AlwaysConsumable

func (e GoldenApple) AlwaysConsumable() bool

AlwaysConsumable ...

func (GoldenApple) Consume

func (e GoldenApple) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (GoldenApple) ConsumeDuration

func (e GoldenApple) ConsumeDuration() time.Duration

ConsumeDuration ...

func (GoldenApple) EncodeItem

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

EncodeItem ...

type GoldenCarrot

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

GoldenCarrot is a valuable food item and brewing ingredient. It provides the second most saturation in the game, behind Suspicious Stew crafted with either a Dandelion or Blue Orchid.

func (GoldenCarrot) AlwaysConsumable

func (GoldenCarrot) AlwaysConsumable() bool

AlwaysConsumable ...

func (GoldenCarrot) Consume

func (GoldenCarrot) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (GoldenCarrot) ConsumeDuration

func (d GoldenCarrot) ConsumeDuration() time.Duration

ConsumeDuration ...

func (GoldenCarrot) EncodeItem

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

EncodeItem ...

type Gunpowder

type Gunpowder struct{}

Gunpowder is an item that is used for explosion-related recipes.

func (Gunpowder) EncodeItem

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

EncodeItem ...

type HandEquipped

type HandEquipped interface {
	// HandEquipped returns whether the item is hand equipped.
	HandEquipped() bool
}

HandEquipped represents an item that can be 'hand equipped'. This means the item will show up in third person like a tool, sword or stick would, giving them a different orientation in the hand and making them slightly bigger.

type HeartOfTheSea

type HeartOfTheSea struct{}

HeartOfTheSea is a rare item that can be crafted into a conduit.

func (HeartOfTheSea) EncodeItem

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

EncodeItem ...

type Helmet

type Helmet struct {
	// Tier is the tier of the armour.
	Tier ArmourTier
}

Helmet is a defensive item that may be worn in the head slot. It comes in several tiers, each with different defence points and armour toughness.

func (Helmet) DecodeNBT

func (h Helmet) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (Helmet) DefencePoints

func (h Helmet) DefencePoints() float64

DefencePoints ...

func (Helmet) DurabilityInfo

func (h Helmet) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Helmet) EnchantmentValue

func (h Helmet) EnchantmentValue() int

EnchantmentValue ...

func (Helmet) EncodeItem

func (h Helmet) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Helmet) EncodeNBT

func (h Helmet) EncodeNBT() map[string]any

EncodeNBT ...

func (Helmet) Helmet

func (h Helmet) Helmet() bool

Helmet ...

func (Helmet) KnockBackResistance

func (h Helmet) KnockBackResistance() float64

KnockBackResistance ...

func (Helmet) MaxCount

func (h Helmet) MaxCount() int

MaxCount always returns 1.

func (Helmet) RepairableBy

func (h Helmet) RepairableBy(i Stack) bool

RepairableBy ...

func (Helmet) SmeltInfo

func (h Helmet) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Helmet) Toughness

func (h Helmet) Toughness() float64

Toughness ...

func (Helmet) Use

func (h Helmet) Use(_ *world.World, _ User, ctx *UseContext) bool

Use handles the using of a helmet to auto-equip it in an armour slot.

type HelmetType

type HelmetType interface {
	Armour
	Helmet() bool
}

HelmetType is an Armour item that can be worn in the helmet slot.

type Hoe

type Hoe struct {
	Tier ToolTier
}

Hoe is a tool generally used to till dirt and grass blocks into farmland blocks for planting crops. Additionally, a Hoe can be used to break certain types of blocks such as Crimson and Hay Blocks.

func (Hoe) AttackDamage

func (h Hoe) AttackDamage() float64

AttackDamage ...

func (Hoe) BaseMiningEfficiency

func (h Hoe) BaseMiningEfficiency(world.Block) float64

BaseMiningEfficiency ...

func (Hoe) DurabilityInfo

func (h Hoe) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Hoe) EnchantmentValue

func (h Hoe) EnchantmentValue() int

EnchantmentValue ...

func (Hoe) EncodeItem

func (h Hoe) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Hoe) FuelInfo

func (h Hoe) FuelInfo() FuelInfo

FuelInfo ...

func (Hoe) HarvestLevel

func (h Hoe) HarvestLevel() int

HarvestLevel returns the level that this hoe is able to harvest. If a block has a harvest level above this one, this hoe won't be able to harvest it.

func (Hoe) MaxCount

func (h Hoe) MaxCount() int

MaxCount ...

func (Hoe) RepairableBy

func (h Hoe) RepairableBy(i Stack) bool

RepairableBy ...

func (Hoe) SmeltInfo

func (h Hoe) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Hoe) ToolType

func (h Hoe) ToolType() ToolType

ToolType ...

func (Hoe) UseOnBlock

func (h Hoe) UseOnBlock(pos cube.Pos, face cube.Face, _ mgl64.Vec3, w *world.World, _ User, ctx *UseContext) bool

UseOnBlock will turn a dirt or grass block into a farmland if the necessary properties are met.

type Honeycomb

type Honeycomb struct{}

Honeycomb is an item obtained from bee nests and beehives.

func (Honeycomb) EncodeItem

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

EncodeItem ...

func (Honeycomb) UseOnBlock

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

UseOnBlock handles the logic of using an ink sac on a sign. Glowing ink sacs turn the text of these signs glowing, whereas normal ink sacs revert them back to non-glowing text.

type InkSac

type InkSac struct {
	// Glowing specifies if the ink sac is that of a glow squid. If true, it may be used on a sign to light up its text.
	Glowing bool
}

InkSac is an item dropped by a squid upon death used to create black dye, dark prismarine and book and quill. The glowing variant, obtained by killing a glow squid, may be used to cause sign text to light up.

func (InkSac) EncodeItem

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

EncodeItem ...

func (InkSac) UseOnBlock

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

UseOnBlock handles the logic of using an ink sac on a sign. Glowing ink sacs turn the text of these signs glowing, whereas normal ink sacs revert them back to non-glowing text.

type IronIngot

type IronIngot struct{}

IronIngot is a metal ingot melted from raw iron or obtained from loot chests.

func (IronIngot) EncodeItem

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

EncodeItem ...

func (IronIngot) MaterialColour

func (IronIngot) MaterialColour() string

MaterialColour ...

func (IronIngot) PayableForBeacon

func (IronIngot) PayableForBeacon() bool

PayableForBeacon ...

func (IronIngot) TrimMaterial

func (IronIngot) TrimMaterial() string

TrimMaterial ...

type IronNugget

type IronNugget struct{}

IronNugget is a piece of iron that can be obtained by smelting iron tools/weapons or iron/chainmail armor.

func (IronNugget) EncodeItem

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

EncodeItem ...

type LapisLazuli

type LapisLazuli struct{}

LapisLazuli is a mineral used for enchanting and decoration.

func (LapisLazuli) EncodeItem

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

EncodeItem ...

func (LapisLazuli) MaterialColour

func (LapisLazuli) MaterialColour() string

MaterialColour ...

func (LapisLazuli) TrimMaterial

func (LapisLazuli) TrimMaterial() string

TrimMaterial ...

type Leather

type Leather struct{}

Leather is an animal skin used to make item frames, armor and books.

func (Leather) EncodeItem

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

EncodeItem ...

type Leggings

type Leggings struct {
	// Tier is the tier of the leggings.
	Tier ArmourTier
}

Leggings are a defensive item that may be equipped in the leggings armour slot. They come in several tiers, like leather, gold, chain, iron and diamond.

func (Leggings) DecodeNBT

func (l Leggings) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (Leggings) DefencePoints

func (l Leggings) DefencePoints() float64

DefencePoints ...

func (Leggings) DurabilityInfo

func (l Leggings) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Leggings) EnchantmentValue

func (l Leggings) EnchantmentValue() int

EnchantmentValue ...

func (Leggings) EncodeItem

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

EncodeItem ...

func (Leggings) EncodeNBT

func (l Leggings) EncodeNBT() map[string]any

EncodeNBT ...

func (Leggings) KnockBackResistance

func (l Leggings) KnockBackResistance() float64

KnockBackResistance ...

func (Leggings) Leggings

func (l Leggings) Leggings() bool

Leggings ...

func (Leggings) MaxCount

func (l Leggings) MaxCount() int

MaxCount always returns 1.

func (Leggings) RepairableBy

func (l Leggings) RepairableBy(i Stack) bool

RepairableBy ...

func (Leggings) SmeltInfo

func (l Leggings) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Leggings) Toughness

func (l Leggings) Toughness() float64

Toughness ...

func (Leggings) Use

func (l Leggings) Use(_ *world.World, _ User, ctx *UseContext) bool

Use handles the auto-equipping of leggings in an armour slot by using the item.

type LeggingsType

type LeggingsType interface {
	Armour
	Leggings() bool
}

LeggingsType are an Armour item that can be worn in the leggings slot.

type LingeringPotion

type LingeringPotion struct {
	// Type is the type of lingering potion.
	Type potion.Potion
}

LingeringPotion is a variant of a splash potion that can be thrown to leave clouds with status effects that linger on the ground in an area.

func (LingeringPotion) EncodeItem

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

EncodeItem ...

func (LingeringPotion) MaxCount

func (l LingeringPotion) MaxCount() int

MaxCount ...

func (LingeringPotion) Use

func (l LingeringPotion) Use(w *world.World, user User, ctx *UseContext) bool

Use ...

type MagmaCream

type MagmaCream struct{}

MagmaCream is an item used in brewing to create potions of Fire Resistance, and to build magma blocks.

func (MagmaCream) EncodeItem

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

EncodeItem ...

type MaxCounter

type MaxCounter interface {
	// MaxCount returns the maximum number of items that a stack may be composed of. The number returned must
	// be positive.
	MaxCount() int
}

MaxCounter represents an item that has a specific max count. By default, each item will be expected to have a maximum count of 64. MaxCounter may be implemented to change this behaviour.

type MelonSlice

type MelonSlice struct{}

MelonSlice is a food item dropped by melon blocks.

func (MelonSlice) AlwaysConsumable

func (m MelonSlice) AlwaysConsumable() bool

AlwaysConsumable ...

func (MelonSlice) CompostChance

func (MelonSlice) CompostChance() float64

CompostChance ...

func (MelonSlice) Consume

func (m MelonSlice) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (MelonSlice) ConsumeDuration

func (m MelonSlice) ConsumeDuration() time.Duration

ConsumeDuration ...

func (MelonSlice) EncodeItem

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

EncodeItem ...

type MushroomStew

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

MushroomStew is a food item.

func (MushroomStew) AlwaysConsumable

func (MushroomStew) AlwaysConsumable() bool

AlwaysConsumable ...

func (MushroomStew) Consume

func (MushroomStew) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (MushroomStew) ConsumeDuration

func (d MushroomStew) ConsumeDuration() time.Duration

ConsumeDuration ...

func (MushroomStew) EncodeItem

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

EncodeItem ...

func (MushroomStew) MaxCount

func (MushroomStew) MaxCount() int

MaxCount ...

type MusicDisc

type MusicDisc struct {
	// DiscType is the disc type of the music disc.
	DiscType sound.DiscType
}

MusicDisc is an item that can be played in jukeboxes.

func (MusicDisc) EncodeItem

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

EncodeItem ...

func (MusicDisc) MaxCount

func (MusicDisc) MaxCount() int

MaxCount always returns 1.

type Mutton

type Mutton struct {

	// Cooked is whether the mutton is cooked.
	Cooked bool
	// contains filtered or unexported fields
}

Mutton is a food item obtained from sheep. It can be cooked in a furnace, smoker, or campfire.

func (Mutton) AlwaysConsumable

func (Mutton) AlwaysConsumable() bool

AlwaysConsumable ...

func (Mutton) Consume

func (m Mutton) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Mutton) ConsumeDuration

func (d Mutton) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Mutton) EncodeItem

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

EncodeItem ...

func (Mutton) SmeltInfo

func (m Mutton) SmeltInfo() SmeltInfo

SmeltInfo ...

type NautilusShell

type NautilusShell struct{}

NautilusShell is an item that is used for crafting conduits.

func (NautilusShell) EncodeItem

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

EncodeItem ...

type NetherBrick

type NetherBrick struct{}

NetherBrick is an item made by smelting netherrack in a furnace.

func (NetherBrick) EncodeItem

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

EncodeItem ...

type NetherQuartz

type NetherQuartz struct{}

NetherQuartz is a smooth, white mineral found in the Nether.

func (NetherQuartz) EncodeItem

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

EncodeItem ...

func (NetherQuartz) MaterialColour

func (NetherQuartz) MaterialColour() string

MaterialColour ...

func (NetherQuartz) TrimMaterial

func (NetherQuartz) TrimMaterial() string

TrimMaterial ...

type NetherStar

type NetherStar struct{}

NetherStar is a rare item dropped by the wither that is used solely to craft beacons.

func (NetherStar) EncodeItem

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

EncodeItem ...

type NetheriteIngot

type NetheriteIngot struct{}

NetheriteIngot is a rare mineral crafted with 4 pieces of netherite scrap and 4 gold ingots.

func (NetheriteIngot) EncodeItem

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

EncodeItem ...

func (NetheriteIngot) MaterialColour

func (NetheriteIngot) MaterialColour() string

MaterialColour ...

func (NetheriteIngot) PayableForBeacon

func (NetheriteIngot) PayableForBeacon() bool

PayableForBeacon ...

func (NetheriteIngot) TrimMaterial

func (NetheriteIngot) TrimMaterial() string

TrimMaterial ...

type NetheriteScrap

type NetheriteScrap struct{}

NetheriteScrap is a material smelted from ancient debris, which is found in the Nether.

func (NetheriteScrap) EncodeItem

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

EncodeItem ...

type OffHand

type OffHand interface {
	// OffHand returns true if the item can be held in the off hand.
	OffHand() bool
}

OffHand represents an item that can be held in the off hand.

type Paper

type Paper struct{}

Paper is an item crafted from sugar cane.

func (Paper) EncodeItem

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

EncodeItem ...

type PhantomMembrane

type PhantomMembrane struct{}

PhantomMembrane are leathery skins obtained from killing phantoms.

func (PhantomMembrane) EncodeItem

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

EncodeItem ...

type Pickaxe

type Pickaxe struct {
	// Tier is the tier of the pickaxe.
	Tier ToolTier
}

Pickaxe is a tool generally used for mining stone-like blocks and ores at a higher speed and to obtain their drops.

func (Pickaxe) AttackDamage

func (p Pickaxe) AttackDamage() float64

AttackDamage returns the attack damage to the pickaxe.

func (Pickaxe) BaseMiningEfficiency

func (p Pickaxe) BaseMiningEfficiency(world.Block) float64

BaseMiningEfficiency is the base efficiency of the pickaxe, when it comes to mining blocks. This decides the speed with which blocks can be mined.

func (Pickaxe) DurabilityInfo

func (p Pickaxe) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Pickaxe) EnchantmentValue

func (p Pickaxe) EnchantmentValue() int

EnchantmentValue ...

func (Pickaxe) EncodeItem

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

EncodeItem ...

func (Pickaxe) FuelInfo

func (p Pickaxe) FuelInfo() FuelInfo

FuelInfo ...

func (Pickaxe) HarvestLevel

func (p Pickaxe) HarvestLevel() int

HarvestLevel returns the level that this pickaxe is able to harvest. If a block has a harvest level above this one, this pickaxe won't be able to harvest it.

func (Pickaxe) MaxCount

func (p Pickaxe) MaxCount() int

MaxCount returns 1.

func (Pickaxe) RepairableBy

func (p Pickaxe) RepairableBy(i Stack) bool

RepairableBy ...

func (Pickaxe) SmeltInfo

func (p Pickaxe) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Pickaxe) ToolType

func (p Pickaxe) ToolType() ToolType

ToolType returns the type for pickaxes.

type PoisonousPotato

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

PoisonousPotato is a type of potato that can poison the player.

func (PoisonousPotato) AlwaysConsumable

func (PoisonousPotato) AlwaysConsumable() bool

AlwaysConsumable ...

func (PoisonousPotato) Consume

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

Consume ...

func (PoisonousPotato) ConsumeDuration

func (d PoisonousPotato) ConsumeDuration() time.Duration

ConsumeDuration ...

func (PoisonousPotato) EncodeItem

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

EncodeItem ...

type PoppedChorusFruit

type PoppedChorusFruit struct{}

PoppedChorusFruit is an item obtained by smelting chorus fruit, and used to craft end rods and purpur blocks. Unlike raw chorus fruit, the popped fruit is inedible.

func (PoppedChorusFruit) EncodeItem

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

EncodeItem ...

type Porkchop

type Porkchop struct {

	// Cooked is whether the porkchop is cooked.
	Cooked bool
	// contains filtered or unexported fields
}

Porkchop is a food item obtained from pigs. It can be cooked in a furnace, smoker, or campfire.

func (Porkchop) AlwaysConsumable

func (Porkchop) AlwaysConsumable() bool

AlwaysConsumable ...

func (Porkchop) Consume

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

Consume ...

func (Porkchop) ConsumeDuration

func (d Porkchop) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Porkchop) EncodeItem

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

EncodeItem ...

func (Porkchop) SmeltInfo

func (p Porkchop) SmeltInfo() SmeltInfo

SmeltInfo ...

type Potion

type Potion struct {
	// Type is the type of potion.
	Type potion.Potion
}

Potion is an item that grants effects on consumption.

func (Potion) AlwaysConsumable

func (p Potion) AlwaysConsumable() bool

AlwaysConsumable ...

func (Potion) Consume

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

Consume ...

func (Potion) ConsumeDuration

func (p Potion) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Potion) EncodeItem

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

EncodeItem ...

func (Potion) MaxCount

func (p Potion) MaxCount() int

MaxCount ...

type PotterySherd

type PotterySherd struct {
	Type SherdType
}

PotterySherd is an item that can be found from brushing suspicious sand or gravel.

func (PotterySherd) EncodeItem

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

EncodeItem ...

func (PotterySherd) PotDecoration

func (PotterySherd) PotDecoration() bool

PotDecoration ...

type PrismarineCrystals

type PrismarineCrystals struct{}

PrismarineCrystals are items obtained by defeating guardians or elder guardians. They are used for crafting sea lanterns.

func (PrismarineCrystals) EncodeItem

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

EncodeItem ...

type PrismarineShard

type PrismarineShard struct{}

PrismarineShard is an item obtained by defeating guardians or elder guardians.

func (PrismarineShard) EncodeItem

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

EncodeItem ...

type Pufferfish

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

Pufferfish is a poisonous type of fish that is used to brew water breathing potions.

func (Pufferfish) AlwaysConsumable

func (Pufferfish) AlwaysConsumable() bool

AlwaysConsumable ...

func (Pufferfish) Consume

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

Consume ...

func (Pufferfish) ConsumeDuration

func (d Pufferfish) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Pufferfish) EncodeItem

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

EncodeItem ...

type PumpkinPie

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

PumpkinPie is a food item that can be eaten by the player.

func (PumpkinPie) AlwaysConsumable

func (PumpkinPie) AlwaysConsumable() bool

AlwaysConsumable ...

func (PumpkinPie) CompostChance

func (PumpkinPie) CompostChance() float64

CompostChance ...

func (PumpkinPie) Consume

func (PumpkinPie) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (PumpkinPie) ConsumeDuration

func (d PumpkinPie) ConsumeDuration() time.Duration

ConsumeDuration ...

func (PumpkinPie) EncodeItem

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

EncodeItem ...

type Rabbit

type Rabbit struct {

	// Cooked is whether the rabbit is cooked.
	Cooked bool
	// contains filtered or unexported fields
}

Rabbit is a food item obtained from rabbits. It can be cooked in a furnace, smoker, or campfire.

func (Rabbit) AlwaysConsumable

func (Rabbit) AlwaysConsumable() bool

AlwaysConsumable ...

func (Rabbit) Consume

func (r Rabbit) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Rabbit) ConsumeDuration

func (d Rabbit) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Rabbit) EncodeItem

func (r Rabbit) EncodeItem() (name string, meta int16)

EncodeItem ...

func (Rabbit) SmeltInfo

func (r Rabbit) SmeltInfo() SmeltInfo

SmeltInfo ...

type RabbitFoot

type RabbitFoot struct{}

RabbitFoot is a brewing item obtained from rabbits.

func (RabbitFoot) EncodeItem

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

EncodeItem ...

type RabbitHide

type RabbitHide struct{}

RabbitHide is an item dropped by rabbits.

func (RabbitHide) EncodeItem

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

EncodeItem ...

type RabbitStew

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

RabbitStew is a food item that can be eaten by the player.

func (RabbitStew) AlwaysConsumable

func (RabbitStew) AlwaysConsumable() bool

AlwaysConsumable ...

func (RabbitStew) Consume

func (RabbitStew) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (RabbitStew) ConsumeDuration

func (d RabbitStew) ConsumeDuration() time.Duration

ConsumeDuration ...

func (RabbitStew) EncodeItem

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

EncodeItem ...

func (RabbitStew) MaxCount

func (RabbitStew) MaxCount() int

MaxCount ...

type RawCopper

type RawCopper struct{}

RawCopper is a raw metal resource obtained from mining copper ore.

func (RawCopper) EncodeItem

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

EncodeItem ...

func (RawCopper) SmeltInfo

func (RawCopper) SmeltInfo() SmeltInfo

SmeltInfo ...

type RawGold

type RawGold struct{}

RawGold is a raw metal resource obtained from mining gold ore.

func (RawGold) EncodeItem

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

EncodeItem ...

func (RawGold) SmeltInfo

func (RawGold) SmeltInfo() SmeltInfo

SmeltInfo ...

type RawIron

type RawIron struct{}

RawIron is a raw metal resource obtained from mining iron ore.

func (RawIron) EncodeItem

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

EncodeItem ...

func (RawIron) SmeltInfo

func (RawIron) SmeltInfo() SmeltInfo

SmeltInfo ...

type RecoveryCompass

type RecoveryCompass struct{}

RecoveryCompass is an item used to point to the location of the player's last death.

func (RecoveryCompass) EncodeItem

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

EncodeItem ...

type Releasable

type Releasable interface {
	// Release is called when an item is released.
	Release(releaser Releaser, duration time.Duration, ctx *UseContext)
	// Requirements returns the required items to release this item.
	Requirements() []Stack
}

Releasable represents an item that can be released.

type Releaser

type Releaser interface {
	User
	// GameMode returns the gamemode of the releaser.
	GameMode() world.GameMode
	// PlaySound plays a world.Sound that only this Releaser can hear.
	PlaySound(sound world.Sound)
}

Releaser represents an entity that can release items, such as bows.

type Repairable

type Repairable interface {
	Durable
	RepairableBy(i Stack) bool
}

Repairable represents a durable item that can be repaired by other items.

type RottenFlesh

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

RottenFlesh is a food item that can be eaten by the player, at the high risk of inflicting Hunger.

func (RottenFlesh) AlwaysConsumable

func (RottenFlesh) AlwaysConsumable() bool

AlwaysConsumable ...

func (RottenFlesh) Consume

func (RottenFlesh) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (RottenFlesh) ConsumeDuration

func (d RottenFlesh) ConsumeDuration() time.Duration

ConsumeDuration ...

func (RottenFlesh) EncodeItem

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

EncodeItem ...

type Salmon

type Salmon struct {

	// Cooked is whether the salmon is cooked.
	Cooked bool
	// contains filtered or unexported fields
}

Salmon is a food item obtained from salmons. It can be cooked in a furnace, smoker, or campfire.

func (Salmon) AlwaysConsumable

func (Salmon) AlwaysConsumable() bool

AlwaysConsumable ...

func (Salmon) Consume

func (s Salmon) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (Salmon) ConsumeDuration

func (d Salmon) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Salmon) EncodeItem

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

EncodeItem ...

func (Salmon) SmeltInfo

func (s Salmon) SmeltInfo() SmeltInfo

SmeltInfo ...

type Scute

type Scute struct{}

Scute is an item that baby turtles drop when they grow into adults.

func (Scute) EncodeItem

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

EncodeItem ...

type Shears

type Shears struct{}

Shears is a tool used to shear sheep, mine a few types of blocks, and carve pumpkins.

func (Shears) BaseMiningEfficiency

func (s Shears) BaseMiningEfficiency(world.Block) float64

BaseMiningEfficiency ...

func (Shears) DurabilityInfo

func (s Shears) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Shears) EncodeItem

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

EncodeItem ...

func (Shears) HarvestLevel

func (s Shears) HarvestLevel() int

HarvestLevel ...

func (Shears) MaxCount

func (s Shears) MaxCount() int

MaxCount ...

func (Shears) ToolType

func (s Shears) ToolType() ToolType

ToolType ...

func (Shears) UseOnBlock

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

UseOnBlock ...

type SherdType

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

SherdType represents the sherdType of a block.

func SherdTypeAngler

func SherdTypeAngler() SherdType

SherdTypeAngler returns the angler sherd type.

func SherdTypeArcher

func SherdTypeArcher() SherdType

SherdTypeArcher returns the archer sherd type.

func SherdTypeArmsUp

func SherdTypeArmsUp() SherdType

SherdTypeArmsUp returns the arms up sherd type.

func SherdTypeBlade

func SherdTypeBlade() SherdType

SherdTypeBlade returns the blade sherd type.

func SherdTypeBrewer

func SherdTypeBrewer() SherdType

SherdTypeBrewer returns the brewer sherd type.

func SherdTypeBurn

func SherdTypeBurn() SherdType

SherdTypeBurn returns the burn sherd type.

func SherdTypeDanger

func SherdTypeDanger() SherdType

SherdTypeDanger returns the danger sherd type.

func SherdTypeExplorer

func SherdTypeExplorer() SherdType

SherdTypeExplorer returns the explorer sherd type.

func SherdTypeFriend

func SherdTypeFriend() SherdType

SherdTypeFriend returns the friend sherd type.

func SherdTypeHeart

func SherdTypeHeart() SherdType

SherdTypeHeart returns the heart sherd type.

func SherdTypeHeartbreak

func SherdTypeHeartbreak() SherdType

SherdTypeHeartbreak returns the heartbreak sherd type.

func SherdTypeHowl

func SherdTypeHowl() SherdType

SherdTypeHowl returns the howl sherd type.

func SherdTypeMiner

func SherdTypeMiner() SherdType

SherdTypeMiner returns the miner sherd type.

func SherdTypeMourner

func SherdTypeMourner() SherdType

SherdTypeMourner returns the mourner sherd type.

func SherdTypePlenty

func SherdTypePlenty() SherdType

SherdTypePlenty returns the plenty sherd type.

func SherdTypePrize

func SherdTypePrize() SherdType

SherdTypePrize returns the prize sherd type.

func SherdTypeSheaf

func SherdTypeSheaf() SherdType

SherdTypeSheaf returns the sheaf sherd type.

func SherdTypeShelter

func SherdTypeShelter() SherdType

SherdTypeShelter returns the shelter sherd type.

func SherdTypeSkull

func SherdTypeSkull() SherdType

SherdTypeSkull returns the skull sherd type.

func SherdTypeSnort

func SherdTypeSnort() SherdType

SherdTypeSnort returns the snort sherd type.

func SherdTypes

func SherdTypes() []SherdType

SherdTypes returns a list of all existing sherd types.

func (SherdType) String

func (c SherdType) String() string

String ...

func (SherdType) Uint8

func (c SherdType) Uint8() uint8

Uint8 ...

type Shovel

type Shovel struct {
	// Tier is the tier of the shovel.
	Tier ToolTier
}

Shovel is a tool generally used for mining ground-like blocks, such as sand, gravel and dirt. Additionally, shovels may be used to turn grass into dirt paths.

func (Shovel) AttackDamage

func (s Shovel) AttackDamage() float64

AttackDamage returns the attack damage to the shovel.

func (Shovel) BaseMiningEfficiency

func (s Shovel) BaseMiningEfficiency(world.Block) float64

BaseMiningEfficiency ...

func (Shovel) DurabilityInfo

func (s Shovel) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Shovel) EnchantmentValue

func (s Shovel) EnchantmentValue() int

EnchantmentValue ...

func (Shovel) EncodeItem

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

EncodeItem ...

func (Shovel) FuelInfo

func (s Shovel) FuelInfo() FuelInfo

FuelInfo ...

func (Shovel) HarvestLevel

func (s Shovel) HarvestLevel() int

HarvestLevel ...

func (Shovel) MaxCount

func (s Shovel) MaxCount() int

MaxCount always returns 1.

func (Shovel) RepairableBy

func (s Shovel) RepairableBy(i Stack) bool

RepairableBy ...

func (Shovel) SmeltInfo

func (s Shovel) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Shovel) ToolType

func (s Shovel) ToolType() ToolType

ToolType returns the tool type for shovels.

func (Shovel) UseOnBlock

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

UseOnBlock handles the creation of dirt path blocks from dirt or grass blocks.

type ShulkerShell

type ShulkerShell struct{}

ShulkerShell are items dropped by shulkers that are used solely to craft shulker boxes.

func (ShulkerShell) EncodeItem

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

EncodeItem ...

type Slimeball

type Slimeball struct{}

Slimeball is a crafting ingredient commonly dropped by slimes, and can be sneezed out by pandas.

func (Slimeball) EncodeItem

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

EncodeItem ...

type SmeltInfo

type SmeltInfo struct {
	// Product returns the resulting item stack from smelting the item.
	Product Stack
	// Experience returns the experience gained from performing the smelt, alongside the Product.
	Experience float64
	// Food returns true if the smelt is food, for smelters such as smokers or regular furnaces.
	Food bool
	// Ores returns true if the smelt is ores, for smelters such as blast furnaces or regular furnaces.
	Ores bool
}

SmeltInfo is a struct returned by items that implement Smeltable. It contains information about the product, experience gained, and more.

type Smeltable

type Smeltable interface {
	// SmeltInfo returns information of the item related to it's smelting capabilities.
	SmeltInfo() SmeltInfo
}

Smeltable represents an item that can be input into a smelter, such as a blast furnace, furnace, or smoker, to cook and transform it into a different item.

type SmithingTemplate

type SmithingTemplate struct {
	// Template the upgrade item used in smithing tables.
	Template ArmourSmithingTemplate
}

SmithingTemplate is an item used in smithing tables to alter tools and armour. They are consumed when used, but can be duplicated using an existing template, its material and diamonds.

func (SmithingTemplate) EncodeItem

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

EncodeItem ...

type Snowball

type Snowball struct{}

Snowball is a throwable combat item obtained through shovelling snow.

func (Snowball) EncodeItem

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

EncodeItem ...

func (Snowball) MaxCount

func (s Snowball) MaxCount() int

MaxCount ...

func (Snowball) Use

func (s Snowball) Use(w *world.World, user User, ctx *UseContext) bool

Use ...

type SpiderEye

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

SpiderEye is a poisonous food and brewing item.

func (SpiderEye) AlwaysConsumable

func (SpiderEye) AlwaysConsumable() bool

AlwaysConsumable ...

func (SpiderEye) Consume

func (SpiderEye) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (SpiderEye) ConsumeDuration

func (d SpiderEye) ConsumeDuration() time.Duration

ConsumeDuration ...

func (SpiderEye) EncodeItem

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

EncodeItem ...

type SplashPotion

type SplashPotion struct {
	// Type is the type of splash potion.
	Type potion.Potion
}

SplashPotion is an item that grants effects when thrown.

func (SplashPotion) EncodeItem

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

EncodeItem ...

func (SplashPotion) MaxCount

func (s SplashPotion) MaxCount() int

MaxCount ...

func (SplashPotion) Use

func (s SplashPotion) Use(w *world.World, user User, ctx *UseContext) bool

Use ...

type Spyglass

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

Spyglass is an item that zooms in on an area the player is looking at, like a telescope.

func (Spyglass) EncodeItem

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

EncodeItem ...

func (Spyglass) MaxCount

func (Spyglass) MaxCount() int

MaxCount always returns 1.

func (Spyglass) Release

func (Spyglass) Release(Releaser, time.Duration, *UseContext)

func (Spyglass) Requirements

func (Spyglass) Requirements() []Stack

type Stack

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

Stack represents a stack of items. The stack shares the same item type and has a count which specifies the size of the stack.

func NewStack

func NewStack(t world.Item, count int) Stack

NewStack returns a new stack using the item type and the count passed. NewStack panics if the count passed is negative or if the item type passed is nil.

func (Stack) AddStack

func (s Stack) AddStack(s2 Stack) (a, b Stack)

AddStack adds another stack to the stack and returns both stacks. The first stack returned will have as many items in it as possible to fit in the stack, according to a max count of either 64 or otherwise as returned by Item.MaxCount(). The second stack will have the leftover items: It may be empty if the count of both stacks together don't exceed the max count. If the two stacks are not comparable, AddStack will return both the original stack and the stack passed.

func (Stack) AnvilCost

func (s Stack) AnvilCost() int

AnvilCost returns the number of experience levels to add to the base level cost when repairing, combining, or renaming this item with an anvil.

func (Stack) ArmourTrim

func (s Stack) ArmourTrim() (ArmourTrim, bool)

ArmourTrim returns the ArmourTrim and true if present, otherwise false is returned.

func (Stack) AttackDamage

func (s Stack) AttackDamage() float64

AttackDamage returns the attack damage to the stack. By default, the value returned is 1.0. If the item held implements the item.Weapon interface, this damage may be different.

func (Stack) Comparable

func (s Stack) Comparable(s2 Stack) bool

Comparable checks if two stacks can be considered comparable. True is returned if the two stacks have an equal item type and have equal enchantments, lore and custom names, or if one of the stacks is empty. Comparable does not check if the two stacks have the same durability.

func (Stack) Count

func (s Stack) Count() int

Count returns the amount of items that is present on the stack. The count is guaranteed never to be negative.

func (Stack) CustomName

func (s Stack) CustomName() string

CustomName returns the custom name set for the Stack. An empty string is returned if the Stack has no custom name set.

func (Stack) Damage

func (s Stack) Damage(d int) Stack

Damage returns a new stack that is damaged by the amount passed. (Meaning, its durability lowered by the amount passed.) If the item does not implement the Durable interface, the original stack is returned. The damage passed may be negative to add durability. If the final durability reaches 0 or below, the item returned is the resulting item of the breaking of the item. If the final durability reaches a number higher than the maximum durability, the stack returned will get the maximum durability.

func (Stack) Durability

func (s Stack) Durability() int

Durability returns the current durability of the item stack. If the item is not one that implements the Durable interface, BaseDurability will always return -1. The closer the durability returned is to 0, the closer the item is to being broken.

func (Stack) Empty

func (s Stack) Empty() bool

Empty checks if the stack is empty (has a count of 0).

func (Stack) Enchantment

func (s Stack) Enchantment(enchant EnchantmentType) (Enchantment, bool)

Enchantment attempts to return an Enchantment set to the Stack using Stack.WithEnchantment(). If an Enchantment is found by the EnchantmentType, the enchantment and the bool true is returned.

func (Stack) Enchantments

func (s Stack) Enchantments() []Enchantment

Enchantments returns an array of all Enchantments on the item. Enchantments returns the enchantments of a Stack in a deterministic order.

func (Stack) Equal

func (s Stack) Equal(s2 Stack) bool

Equal checks if the two stacks are equal. Equal is equivalent to a Stack.Comparable check while also checking the count and durability.

func (Stack) Grow

func (s Stack) Grow(n int) Stack

Grow grows the Stack's count by n, returning the resulting Stack. If a positive number is passed, the stack is grown, whereas if a negative size is passed, the resulting Stack will have a lower count. The count of the returned Stack will never be negative.

func (Stack) Item

func (s Stack) Item() world.Item

Item returns the item that the stack holds. If the stack is considered empty (Stack.Empty()), Item will always return nil.

func (Stack) Lore

func (s Stack) Lore() []string

Lore returns the lore set for the Stack. If no lore is present, the slice returned has a len of 0.

func (Stack) MaxCount

func (s Stack) MaxCount() int

MaxCount returns the maximum count that the stack is able to hold when added to an inventory or when added to an item entity.

func (Stack) MaxDurability

func (s Stack) MaxDurability() int

MaxDurability returns the maximum durability that the item stack is able to have. If the item does not implement the Durable interface, MaxDurability will always return -1.

func (Stack) String

func (s Stack) String() string

String implements the fmt.Stringer interface.

func (Stack) Value

func (s Stack) Value(key string) (val any, ok bool)

Value attempts to return a value set to the Stack using Stack.WithValue(). If a value is found by the key passed, it is returned and ok is true. If not found, the value returned is nil and ok is false.

func (Stack) Values

func (s Stack) Values() map[string]any

Values returns all values associated with the stack by users. The map returned is a copy of the original: Modifying it will not modify the item stack.

func (Stack) WithAnvilCost

func (s Stack) WithAnvilCost(anvilCost int) Stack

WithAnvilCost returns the current Stack with the anvil cost set to the passed value.

func (Stack) WithArmourTrim

func (s Stack) WithArmourTrim(trim ArmourTrim) Stack

WithArmourTrim returns a new stack with the ArmourTrim passed. This only applies if the stack is type Armour.

func (Stack) WithCustomName

func (s Stack) WithCustomName(a ...any) Stack

WithCustomName returns a copy of the Stack with the custom name passed. The custom name is formatted according to the rules of fmt.Sprintln.

func (Stack) WithDurability

func (s Stack) WithDurability(d int) Stack

WithDurability returns a new item stack with the durability passed. If the item does not implement the Durable interface, WithDurability returns the original stack. The closer the durability d is to 0, the closer the item is to being broken. If a durability of 0 is passed, a stack with the item type of the BrokenItem is returned. If a durability is passed that exceeds the maximum durability, the stack returned will have the maximum durability.

func (Stack) WithEnchantments

func (s Stack) WithEnchantments(enchants ...Enchantment) Stack

WithEnchantments returns the current stack with the passed enchantments. If an enchantment is not compatible with the item stack, it will not be applied.

func (Stack) WithLore

func (s Stack) WithLore(lines ...string) Stack

WithLore returns a copy of the Stack with the lore passed. Each string passed is put on a different line, where the first string is at the top and the last at the bottom. The lore may be cleared by passing no lines into the Stack.

func (Stack) WithValue

func (s Stack) WithValue(key string, val any) Stack

WithValue returns the current Stack with a value set at a specific key. This method may be used to associate custom data with the item stack, which will persist through server restarts. The value stored may later be obtained by making a call to Stack.Value().

WithValue may be called with a nil value, in which case the value at the key will be cleared.

WithValue stores Values by encoding them using the encoding/gob package. Users of WithValue must ensure that their value is valid for encoding with this package.

func (Stack) WithoutEnchantments

func (s Stack) WithoutEnchantments(enchants ...EnchantmentType) Stack

WithoutEnchantments returns the current stack but with the passed enchantments removed.

type StewType

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

StewType represents a type of suspicious stew.

func BlindnessStew

func BlindnessStew() StewType

BlindnessStew returns suspicious stew blindness effect.

func FireResistanceStew

func FireResistanceStew() StewType

FireResistanceStew returns suspicious stew fire resistance effect.

func JumpBoostStew

func JumpBoostStew() StewType

JumpBoostStew returns suspicious stew jump boost effect.

func NightVisionStew

func NightVisionStew() StewType

NightVisionStew returns suspicious stew night vision effect.

func PoisonStew

func PoisonStew() StewType

PoisonStew returns suspicious stew poison effect.

func RegenerationStew

func RegenerationStew() StewType

RegenerationStew returns suspicious stew regeneration effect.

func SaturationDandelionStew

func SaturationDandelionStew() StewType

SaturationDandelionStew returns suspicious stew saturation effect.

func SaturationOrchidStew

func SaturationOrchidStew() StewType

SaturationOrchidStew returns suspicious stew saturation effect.

func StewTypes

func StewTypes() []StewType

StewTypes ...

func WeaknessStew

func WeaknessStew() StewType

WeaknessStew returns suspicious stew weakness effect.

func WitherStew

func WitherStew() StewType

WitherStew returns suspicious stew wither effect.

func (StewType) Effects

func (s StewType) Effects() []effect.Effect

Effects returns suspicious stew effects.

func (StewType) Uint8

func (s StewType) Uint8() uint8

Uint8 returns the stew as a uint8.

type Stick

type Stick struct{}

Stick is one of the most abundant resources used for crafting many tools and items.

func (Stick) EncodeItem

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

EncodeItem ...

func (Stick) FuelInfo

func (Stick) FuelInfo() FuelInfo

FuelInfo ...

type Sugar

type Sugar struct{}

Sugar is a food ingredient and brewing ingredient made from sugar canes.

func (Sugar) EncodeItem

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

EncodeItem ...

type SuspiciousStew

type SuspiciousStew struct {

	// Type specifies the type of effect will be given to the player
	Type StewType
	// contains filtered or unexported fields
}

SuspiciousStew is a food item that can give the player a status effect that depends on the flower used to craft it.

func (SuspiciousStew) AlwaysConsumable

func (SuspiciousStew) AlwaysConsumable() bool

AlwaysConsumable ...

func (SuspiciousStew) Consume

func (s SuspiciousStew) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (SuspiciousStew) ConsumeDuration

func (d SuspiciousStew) ConsumeDuration() time.Duration

ConsumeDuration ...

func (SuspiciousStew) EncodeItem

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

EncodeItem ...

func (SuspiciousStew) MaxCount

func (SuspiciousStew) MaxCount() int

MaxCount ...

type Sword

type Sword struct {
	// Tier is the tier of the sword.
	Tier ToolTier
}

Sword is a tool generally used to attack enemies. In addition, it may be used to mine any block slightly faster than without tool and to break cobwebs rapidly.

func (Sword) AttackDamage

func (s Sword) AttackDamage() float64

AttackDamage returns the attack damage to the sword.

func (Sword) BaseMiningEfficiency

func (s Sword) BaseMiningEfficiency(world.Block) float64

BaseMiningEfficiency always returns 1.5, unless the block passed is cobweb, in which case 15 is returned.

func (Sword) DurabilityInfo

func (s Sword) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Sword) EnchantmentValue

func (s Sword) EnchantmentValue() int

EnchantmentValue ...

func (Sword) EncodeItem

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

EncodeItem ...

func (Sword) FuelInfo

func (s Sword) FuelInfo() FuelInfo

FuelInfo ...

func (Sword) HarvestLevel

func (s Sword) HarvestLevel() int

HarvestLevel returns the harvest level of the sword tier.

func (Sword) MaxCount

func (s Sword) MaxCount() int

MaxCount always returns 1.

func (Sword) RepairableBy

func (s Sword) RepairableBy(i Stack) bool

RepairableBy ...

func (Sword) SmeltInfo

func (s Sword) SmeltInfo() SmeltInfo

SmeltInfo ...

func (Sword) ToolType

func (s Sword) ToolType() ToolType

ToolType returns the tool type for swords.

type Throwable

type Throwable interface {
	// SwingAnimation returns true if the client should cause the player's arm to swing when the item is thrown.
	SwingAnimation() bool
}

Throwable represents a custom item that can be thrown such as a projectile. This will only have an effect on non-vanilla items.

type Tool

type Tool interface {
	// ToolType returns the type of the tool. The blocks that can be mined with this tool depend on this
	// tool type.
	ToolType() ToolType
	// HarvestLevel returns the level that this tool is able to harvest. If a block has a harvest level above
	// this one, this tool won't be able to harvest it.
	HarvestLevel() int
	// BaseMiningEfficiency is the base efficiency of the tool, when it comes to mining blocks. This decides
	// the speed with which blocks can be mined.
	// Some tools have a mining efficiency that depends on the block (swords, shears). The block mined is
	// passed for this behaviour.
	BaseMiningEfficiency(b world.Block) float64
}

Tool represents an item that may be used as a tool.

type ToolNone

type ToolNone struct{}

ToolNone is a ToolType typically used in functions for items that do not function as tools.

func (ToolNone) BaseMiningEfficiency

func (n ToolNone) BaseMiningEfficiency(world.Block) float64

BaseMiningEfficiency ...

func (ToolNone) HarvestLevel

func (n ToolNone) HarvestLevel() int

HarvestLevel ...

func (ToolNone) ToolType

func (n ToolNone) ToolType() ToolType

ToolType ...

type ToolTier

type ToolTier struct {
	// HarvestLevel is the level that this tier of tools is able to harvest. If a block has a harvest level
	// above this one, a tool with this tier won't be able to harvest it.
	HarvestLevel int
	// BaseMiningEfficiency is the base efficiency of the tier, when it comes to mining blocks. This is
	// specifically used for tools such as pickaxes.
	BaseMiningEfficiency float64
	// BaseAttackDamage is the base attack damage to tools with this tier. All tools have a constant value
	// that is added on top of this.
	BaseAttackDamage float64
	// EnchantmentValue is the enchantment value of the tool used when selecting pseudo-random enchantments for
	// enchanting tables.
	EnchantmentValue int
	// BaseDurability returns the maximum durability that a tool with this tier has.
	Durability int
	// Name is the name of the tier.
	Name string
}

ToolTier represents the tier, or material, that a Tool is made of.

func ToolTiers

func ToolTiers() []ToolTier

ToolTiers returns a ToolTier slice containing all available tiers.

type ToolType

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

ToolType represents the type of tool. This decides the type of blocks that the tool is used for.

type Totem

type Totem struct{}

Totem is an uncommon combat item that can save holders from death.

func (Totem) EncodeItem

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

EncodeItem ...

func (Totem) MaxCount

func (Totem) MaxCount() int

MaxCount always returns 1.

type TropicalFish

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

TropicalFish is a food item that cannot be cooked.

func (TropicalFish) AlwaysConsumable

func (TropicalFish) AlwaysConsumable() bool

AlwaysConsumable ...

func (TropicalFish) Consume

func (TropicalFish) Consume(_ *world.World, c Consumer) Stack

Consume ...

func (TropicalFish) ConsumeDuration

func (d TropicalFish) ConsumeDuration() time.Duration

ConsumeDuration ...

func (TropicalFish) EncodeItem

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

EncodeItem ...

type TurtleShell

type TurtleShell struct{}

TurtleShell are items that are used for brewing or as a helmet to give the player the Water Breathing status effect.

func (TurtleShell) DefencePoints

func (TurtleShell) DefencePoints() float64

DefencePoints ...

func (TurtleShell) DurabilityInfo

func (TurtleShell) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (TurtleShell) EnchantmentValue

func (TurtleShell) EnchantmentValue() int

EnchantmentValue ...

func (TurtleShell) EncodeItem

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

EncodeItem ...

func (TurtleShell) Helmet

func (TurtleShell) Helmet() bool

Helmet ...

func (TurtleShell) KnockBackResistance

func (TurtleShell) KnockBackResistance() float64

KnockBackResistance ...

func (TurtleShell) MaxCount

func (TurtleShell) MaxCount() int

MaxCount always returns 1.

func (TurtleShell) RepairableBy

func (TurtleShell) RepairableBy(i Stack) bool

RepairableBy ...

func (TurtleShell) Toughness

func (TurtleShell) Toughness() float64

Toughness ...

func (TurtleShell) Use

func (TurtleShell) Use(_ *world.World, _ User, ctx *UseContext) bool

Use handles the using of a turtle shell to auto-equip it in an armour slot.

type Usable

type Usable interface {
	// Use is called when the item is used in the air. The user that used the item and the world that the item
	// was used in are passed to the method.
	// Use returns a bool indicating if the item was used successfully.
	Use(w *world.World, user User, ctx *UseContext) bool
}

Usable represents an item that may be used 'in the air'. If an item implements this interface, the Use method is called whenever the item is used while pointing at the air. (For example, when throwing an egg.)

type UsableOnBlock

type UsableOnBlock interface {
	// UseOnBlock is called when an item is used on a block. The world passed is the world that the item was
	// used in. The user passed is the entity that used the item. Usually this entity is a player.
	// The position of the block that was clicked, along with the clicked face and the position clicked
	// relative to the corner of the block are passed.
	// UseOnBlock returns a bool indicating if the item was used successfully.
	UseOnBlock(pos cube.Pos, face cube.Face, clickPos mgl64.Vec3, w *world.World, user User, ctx *UseContext) bool
}

UsableOnBlock represents an item that may be used on a block. If an item implements this interface, the UseOnBlock method is called whenever the item is used on a block.

type UsableOnEntity

type UsableOnEntity interface {
	// UseOnEntity is called when an item is used on an entity. The world passed is the world that the item is
	// used in, and the entity clicked and the user of the item are also passed.
	// UseOnEntity returns a bool indicating if the item was used successfully.
	UseOnEntity(e world.Entity, w *world.World, user User, ctx *UseContext) bool
}

UsableOnEntity represents an item that may be used on an entity. If an item implements this interface, the UseOnEntity method is called whenever the item is used on an entity.

type UseContext

type UseContext struct {
	// Damage is the amount of damage that should be dealt to the item as a result of using it.
	Damage int
	// CountSub is how much of the count should be subtracted after using the item.
	CountSub int
	// IgnoreBBox specifies if placing the item should ignore the BBox of the player placing this. This is the case for
	// items such as cocoa beans.
	IgnoreBBox bool
	// NewItem is the item that is added after the item is used. If the player no longer has an item in the
	// hand, it'll be added there.
	NewItem Stack
	// ConsumedItems contains a list of items that were consumed in the process of using the item.
	ConsumedItems []Stack
	// NewItemSurvivalOnly will add any new items only in survival mode.
	NewItemSurvivalOnly bool

	// FirstFunc returns the first item in the context holder's inventory if found. The second return value describes
	// whether the item was found. The comparable function is used to compare the item to the given item.
	FirstFunc func(comparable func(Stack) bool) (Stack, bool)

	// SwapHeldWithArmour holds a function that swaps the item currently held by a User with armour slot i.
	SwapHeldWithArmour func(i int)
}

UseContext is passed to every item Use methods. It may be used to subtract items or to deal damage to them after the action is complete.

func (*UseContext) Consume

func (ctx *UseContext) Consume(s Stack)

Consume consumes the provided item when the context is handled.

func (*UseContext) DamageItem

func (ctx *UseContext) DamageItem(d int)

DamageItem damages the item used by d points.

func (*UseContext) SubtractFromCount

func (ctx *UseContext) SubtractFromCount(d int)

SubtractFromCount subtracts d from the count of the item stack used.

type User

type User interface {
	Carrier
	SetHeldItems(mainHand, offHand Stack)

	UsingItem() bool
	ReleaseItem()
	UseItem()
}

User represents an entity that is able to use an item in the world, typically entities such as players, which interact with the world using an item.

type WarpedFungusOnAStick

type WarpedFungusOnAStick struct{}

WarpedFungusOnAStick is an item that can be used to control saddled striders.

func (WarpedFungusOnAStick) EncodeItem

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

EncodeItem ...

func (WarpedFungusOnAStick) MaxCount

func (WarpedFungusOnAStick) MaxCount() int

MaxCount ...

type Weapon

type Weapon interface {
	// AttackDamage returns the custom attack damage to the weapon. The damage returned must not be negative.
	AttackDamage() float64
}

Weapon is an item that may be used as a weapon. It has an attack damage which may be different to the 2 damage that attacking with an empty hand deals.

type Wheat

type Wheat struct{}

Wheat is a crop used to craft bread, cake, & cookies.

func (Wheat) CompostChance

func (Wheat) CompostChance() float64

CompostChance ...

func (Wheat) EncodeItem

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

EncodeItem ...

type WrittenBook

type WrittenBook struct {
	// Title is the title of the book.
	Title string
	// Author is the author of the book.
	Author string
	// Generation is the copy tier of the book. 0 = original, 1 = copy of original,
	// 2 = copy of copy.
	Generation WrittenBookGeneration
	// Pages represents the pages within the book.
	Pages []string
}

WrittenBook is the item created after a book and quill is signed. It appears the same as a regular book, but without the quill, and has an enchanted-looking glint.

func (WrittenBook) DecodeNBT

func (w WrittenBook) DecodeNBT(data map[string]any) any

DecodeNBT ...

func (WrittenBook) EncodeItem

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

EncodeItem ...

func (WrittenBook) EncodeNBT

func (w WrittenBook) EncodeNBT() map[string]any

EncodeNBT ...

func (WrittenBook) MaxCount

func (WrittenBook) MaxCount() int

MaxCount always returns 1.

func (WrittenBook) Page

func (w WrittenBook) Page(page int) (string, bool)

Page returns a specific page from the book and true when the page exists. It will otherwise return an empty string and false.

func (WrittenBook) TotalPages

func (w WrittenBook) TotalPages() int

TotalPages returns the total number of pages in the book.

type WrittenBookGeneration

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

WrittenBookGeneration represents a WrittenBook generation.

func CopyGeneration

func CopyGeneration() WrittenBookGeneration

CopyGeneration is a copy of the original WrittenBook.

func CopyOfCopyGeneration

func CopyOfCopyGeneration() WrittenBookGeneration

CopyOfCopyGeneration is a copy of a copy of the original WrittenBook.

func OriginalGeneration

func OriginalGeneration() WrittenBookGeneration

OriginalGeneration is the original WrittenBook.

func (WrittenBookGeneration) String

func (g WrittenBookGeneration) String() string

String ...

func (WrittenBookGeneration) Uint8

func (g WrittenBookGeneration) Uint8() uint8

Uint8 returns the generation as a uint8.

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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