item

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2021 License: MIT Imports: 21 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

This section is empty.

Functions

func RegisterCreativeItem

func RegisterCreativeItem(item Stack)

RegisterCreativeItem registers an item as a creative item, exposing it in the creative inventory.

func RegisterEnchantment

func RegisterEnchantment(id int, enchantment Enchantment)

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

Types

type Apple

type Apple struct{}

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

func (Apple) AlwaysConsumable

func (a Apple) AlwaysConsumable() bool

AlwaysConsumable ...

func (Apple) Consume

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

Consume ...

func (Apple) ConsumeDuration

func (a Apple) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Apple) EncodeItem

func (a Apple) EncodeItem() (id int32, meta int16)

EncodeItem ...

type ArmourContainer

type ArmourContainer interface {
	// SetHelmet sets the item stack passed as the helmet in the inventory.
	SetHelmet(helmet Stack)
	// Helmet returns the item stack set as helmet in the inventory.
	Helmet() Stack
	// SetChestplate sets the item stack passed as the chestplate in the inventory.
	SetChestplate(chestplate Stack)
	// Chestplate returns the item stack set as chestplate in the inventory.
	Chestplate() Stack
	// SetLeggings sets the item stack passed as the leggings in the inventory.
	SetLeggings(leggings Stack)
	// Leggings returns the item stack set as leggings in the inventory.
	Leggings() Stack
	// SetBoots sets the item stack passed as the boots in the inventory.
	SetBoots(boots Stack)
	// Boots returns the item stack set as boots in the inventory.
	Boots() Stack
}

ArmourContainer represents a container of armour. Generally, entities will want to use the inventory.Armour type.

type Armoured

type Armoured interface {
	// Armour returns the armour inventory of the entity.
	Armour() ArmourContainer
}

Armoured represents an entity that is able to wear armour in a specific armour inventory. These entities typically include human-like entities such as zombies.

type Axe

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

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) EncodeItem

func (a Axe) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Axe) HarvestLevel

func (a Axe) HarvestLevel() int

HarvestLevel ...

func (Axe) MaxCount

func (a Axe) MaxCount() int

MaxCount always returns 1.

func (Axe) ToolType

func (a Axe) ToolType() tool.Type

ToolType ...

func (Axe) UseOnBlock

func (a Axe) UseOnBlock(pos world.BlockPos, _ world.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 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 Beetroot

type Beetroot struct{}

Beetroot is a food and dye ingredient.

func (Beetroot) AlwaysConsumable

func (b Beetroot) AlwaysConsumable() bool

AlwaysConsumable ...

func (Beetroot) Consume

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

Consume ...

func (Beetroot) ConsumeDuration

func (b Beetroot) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Beetroot) EncodeItem

func (b Beetroot) EncodeItem() (id int32, 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() (id int32, meta int16)

EncodeItem ...

func (BoneMeal) UseOnBlock

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

UseOnBlock ...

type Boots

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

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) DefencePoints

func (b Boots) DefencePoints() float64

DefencePoints ...

func (Boots) DurabilityInfo

func (b Boots) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Boots) EncodeItem

func (b Boots) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Boots) KnockBackResistance

func (b Boots) KnockBackResistance() float64

KnockBackResistance ...

func (Boots) MaxCount

func (b Boots) MaxCount() int

MaxCount always returns 1.

func (Boots) Use

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

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

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() (id int32, meta int16)

EncodeItem ...

type Bucket

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

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

func (Bucket) Empty

func (b Bucket) Empty() bool

Empty returns true if the bucket is empty.

func (Bucket) EncodeItem

func (b Bucket) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Bucket) MaxCount

func (b Bucket) MaxCount() int

MaxCount returns 16.

func (Bucket) UseOnBlock

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

UseOnBlock handles the bucket filling and emptying logic.

type Carrier

type Carrier interface {
	// 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 Chestplate

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

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) DefencePoints

func (c Chestplate) DefencePoints() float64

DefencePoints ...

func (Chestplate) DurabilityInfo

func (c Chestplate) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Chestplate) EncodeItem

func (c Chestplate) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Chestplate) KnockBackResistance

func (c Chestplate) KnockBackResistance() float64

KnockBackResistance ...

func (Chestplate) MaxCount

func (c Chestplate) MaxCount() int

MaxCount always returns 1.

func (Chestplate) Use

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

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

type ClayBall

type ClayBall struct{}

ClayBall is obtained from mining clay blocks

func (ClayBall) EncodeItem

func (ClayBall) EncodeItem() (id int32, meta int16)

EncodeItem ...

type Clock

type Clock struct{}

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

func (Clock) EncodeItem

func (w Clock) EncodeItem() (id int32, meta int16)

EncodeItem ...

type Coal

type Coal struct{} //TODO: Fuel

Coal is an item used as fuel & crafting torches.

func (Coal) EncodeItem

func (Coal) EncodeItem() (id int32, meta int16)

EncodeItem ...

type Collector

type Collector interface {
	world.Entity
	// Collect collects the stack passed. It is called if the Collector is standing near an item entity that
	// may be picked up.
	// The count of items collected from the stack n is returned.
	Collect(stack Stack) (n int)
}

Collector represents an entity in the world that is able to collect an item, typically an entity such as a player or a zombie.

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 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)
}

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

type Diamond

type Diamond struct{}

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

func (Diamond) EncodeItem

func (Diamond) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Diamond) PayableForBeacon

func (Diamond) PayableForBeacon() bool

PayableForBeacon ...

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
}

DurabilityInfo is the info of a durable item. It include 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 Emerald

type Emerald struct{}

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

func (Emerald) EncodeItem

func (Emerald) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Emerald) PayableForBeacon

func (Emerald) PayableForBeacon() bool

PayableForBeacon ...

type EnchantedApple

type EnchantedApple struct{}

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

func (EnchantedApple) AlwaysConsumable

func (e EnchantedApple) AlwaysConsumable() bool

AlwaysConsumable ...

func (EnchantedApple) Consume

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

Consume ...

func (EnchantedApple) ConsumeDuration

func (e EnchantedApple) ConsumeDuration() time.Duration

ConsumeDuration ...

func (EnchantedApple) EncodeItem

func (e EnchantedApple) EncodeItem() (id int32, meta int16)

EncodeItem ...

type Enchantment

type Enchantment interface {
	// Name returns the name of the enchantment.
	Name() string
	// Level returns the current level of the enchantment. The best way to use this is
	// by having a struct similar to the enchantment.enchantment struct to store the level.
	Level() int
	// MaxLevel returns the maximum level the enchantment should be able to have.
	MaxLevel() int
	// WithLevel is called to create a new instance of the enchantment using the level passed.
	// This method could also be used to limit the level of the enchantment using MaxLevel.
	WithLevel(level int) Enchantment
	// CompatibleWith is called when an enchantment is added to an item. It can be used to check if
	// the enchantment is compatible with the item stack based on the item type, current enchantments etc.
	CompatibleWith(s Stack) bool
}

Enchantment represents an enchantment that can be applied to an item. It has methods to get the name, get the current level, get the maximum level, get a new instance of the enchant with a certain level and to check if the enchantment is compatible with an item stack.

type Flint

type Flint struct{}

Flint is an item dropped rarely by gravel.

func (Flint) EncodeItem

func (f Flint) EncodeItem() (id int32, 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() (id int32, meta int16)

EncodeItem ...

func (FlintAndSteel) MaxCount

func (f FlintAndSteel) MaxCount() int

MaxCount ...

func (FlintAndSteel) UseOnBlock

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

UseOnBlock ...

type GlassBottle

type GlassBottle struct{}

GlassBottle is an item that can hold various liquids.

func (GlassBottle) EncodeItem

func (g GlassBottle) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (GlassBottle) UseOnBlock

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

UseOnBlock ...

type GlowstoneDust

type GlowstoneDust struct{}

GlowstoneDust is dropped when breaking the glowstone block.

func (GlowstoneDust) EncodeItem

func (g GlowstoneDust) EncodeItem() (id int32, meta int16)

EncodeItem ...

type GoldIngot

type GoldIngot struct{}

GoldIngot is a rare mineral melted from golden ore or obtained from loot chests.

func (GoldIngot) EncodeItem

func (GoldIngot) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (GoldIngot) PayableForBeacon

func (GoldIngot) PayableForBeacon() bool

PayableForBeacon ...

type GoldNugget

type GoldNugget struct{}

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

func (GoldNugget) EncodeItem

func (GoldNugget) EncodeItem() (id int32, 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() (id int32, meta int16)

EncodeItem ...

type Helmet

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

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) DefencePoints

func (h Helmet) DefencePoints() float64

DefencePoints ...

func (Helmet) DurabilityInfo

func (h Helmet) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Helmet) EncodeItem

func (h Helmet) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Helmet) KnockBackResistance

func (h Helmet) KnockBackResistance() float64

KnockBackResistance ...

func (Helmet) MaxCount

func (h Helmet) MaxCount() int

MaxCount always returns 1.

func (Helmet) Use

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

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

type Hoe

type Hoe struct {
	Tier tool.Tier
}

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) EncodeItem

func (h Hoe) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Hoe) MaxCount

func (h Hoe) MaxCount() int

MaxCount ...

func (Hoe) ToolType

func (h Hoe) ToolType() tool.Type

ToolType ...

func (Hoe) UseOnBlock

func (h Hoe) UseOnBlock(pos world.BlockPos, face world.Face, clickPos mgl64.Vec3, w *world.World, user User, ctx *UseContext) bool

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

type IronIngot

type IronIngot struct{}

IronIngot is a rare mineral melted from iron ore or obtained from loot chests.

func (IronIngot) EncodeItem

func (IronIngot) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (IronIngot) PayableForBeacon

func (IronIngot) PayableForBeacon() bool

PayableForBeacon ...

type LapisLazuli

type LapisLazuli struct{}

LapisLazuli is a mineral used for enchanting and decoration.

func (LapisLazuli) EncodeItem

func (LapisLazuli) EncodeItem() (id int32, meta int16)

EncodeItem ...

type Leather

type Leather struct{}

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

func (Leather) EncodeItem

func (Leather) EncodeItem() (id int32, meta int16)

EncodeItem ...

type Leggings

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

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) DefencePoints

func (l Leggings) DefencePoints() float64

DefencePoints ...

func (Leggings) DurabilityInfo

func (l Leggings) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Leggings) EncodeItem

func (l Leggings) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Leggings) KnockBackResistance

func (l Leggings) KnockBackResistance() float64

KnockBackResistance ...

func (Leggings) MaxCount

func (l Leggings) MaxCount() int

MaxCount always returns 1.

func (Leggings) Use

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

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

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() (id int32, 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) 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() (id int32, meta int16)

EncodeItem ...

type NetherQuartz

type NetherQuartz struct{}

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

func (NetherQuartz) EncodeItem

func (NetherQuartz) EncodeItem() (id int32, 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() (id int32, meta int16)

EncodeItem ...

func (NetheriteIngot) PayableForBeacon

func (NetheriteIngot) PayableForBeacon() bool

PayableForBeacon ...

type Pickaxe

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

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 of 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) EncodeItem

func (p Pickaxe) EncodeItem() (id int32, meta int16)

EncodeItem ...

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) ToolType

func (p Pickaxe) ToolType() tool.Type

ToolType returns the type for pickaxes.

type PoisonousPotato

type PoisonousPotato struct{}

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

func (PoisonousPotato) AlwaysConsumable

func (p PoisonousPotato) AlwaysConsumable() bool

AlwaysConsumable ...

func (PoisonousPotato) Consume

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

Consume ...

func (PoisonousPotato) ConsumeDuration

func (p PoisonousPotato) ConsumeDuration() time.Duration

ConsumeDuration ...

func (PoisonousPotato) EncodeItem

func (p PoisonousPotato) EncodeItem() (id int32, meta int16)

EncodeItem ...

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() (id int32, meta int16)

EncodeItem ...

func (Potion) MaxCount

func (p Potion) MaxCount() int

MaxCount ...

type PrismarineCrystals

type PrismarineCrystals struct{}

PrismarineCrystals are items obtained by defeating guardians or elder guardians. They are used to craft sea lanterns.

func (PrismarineCrystals) EncodeItem

func (p PrismarineCrystals) EncodeItem() (id int32, meta int16)

EncodeItem ...

type Pufferfish

type Pufferfish struct{}

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

func (Pufferfish) AlwaysConsumable

func (p Pufferfish) AlwaysConsumable() bool

AlwaysConsumable ...

func (Pufferfish) Consume

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

Consume ...

func (Pufferfish) ConsumeDuration

func (p Pufferfish) ConsumeDuration() time.Duration

ConsumeDuration ...

func (Pufferfish) EncodeItem

func (p Pufferfish) EncodeItem() (id int32, 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(b world.Block) float64

BaseMiningEfficiency ...

func (Shears) DurabilityInfo

func (s Shears) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Shears) EncodeItem

func (s Shears) EncodeItem() (id int32, 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() tool.Type

ToolType ...

func (Shears) UseOnBlock

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

UseOnBlock ...

type Shovel

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

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 grass paths.

func (Shovel) AttackDamage

func (s Shovel) AttackDamage() float64

AttackDamage returns the attack damage of the shovel.

func (Shovel) BaseMiningEfficiency

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

BaseMiningEfficiency ...

func (Shovel) DurabilityInfo

func (s Shovel) DurabilityInfo() DurabilityInfo

DurabilityInfo ...

func (Shovel) EncodeItem

func (s Shovel) EncodeItem() (id int32, meta int16)

EncodeItem ...

func (Shovel) HarvestLevel

func (s Shovel) HarvestLevel() int

HarvestLevel ...

func (Shovel) MaxCount

func (s Shovel) MaxCount() int

MaxCount always returns 1.

func (Shovel) ToolType

func (s Shovel) ToolType() tool.Type

ToolType returns the tool type for shovels.

func (Shovel) UseOnBlock

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

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

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 CreativeItems

func CreativeItems() []Stack

CreativeItems returns a list with all items that have been registered as a creative item. These items will be accessible by players in-game who have creative mode enabled.

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) AttackDamage

func (s Stack) AttackDamage() float64

AttackDamage returns the attack damage of the stack. By default, the value returned is 2.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.

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 breaking.

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 Enchantment) (Enchantment, bool)

Enchantment attempts to return an enchantment set to the Stack using Stack.WithEnchantment(). If an enchantment is found, 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.

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.

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 interface{}, 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) WithCustomName

func (s Stack) WithCustomName(a ...interface{}) 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 breaking. 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) WithEnchantment

func (s Stack) WithEnchantment(ench Enchantment) Stack

WithEnchantment returns the current stack with the passed enchantment. If the enchantment is not compatible with the item stack, it will not be applied and will return the original stack.

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 interface{}) 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) WithoutEnchantment

func (s Stack) WithoutEnchantment(enchant Enchantment) Stack

WithoutEnchantment returns the current stack but with the passed enchantment removed.

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() (id int32, meta int16)

EncodeItem ...

type Sword

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

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 of 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) EncodeItem

func (s Sword) EncodeItem() (id int32, meta int16)

EncodeItem ...

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) ToolType

func (s Sword) ToolType() tool.Type

ToolType returns the tool type for swords.

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 world.BlockPos, face world.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     int
	CountSub   int
	IgnoreAABB 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
	// NewItemSurvivalOnly will add any new items only in survival mode.
	NewItemSurvivalOnly bool
}

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) 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 {
	// Facing returns the direction that the user is facing.
	Facing() world.Direction
	// Position returns the current position of the user in the world.
	Position() mgl64.Vec3
	// Yaw returns the yaw of the entity. This is horizontal rotation (rotation around the vertical axis), and
	// is 0 when the entity faces forward.
	Yaw() float64
	// Pitch returns the pitch of the entity. This is vertical rotation (rotation around the horizontal axis),
	// and is 0 when the entity faces forward.
	Pitch() float64
	HeldItems() (right, left Stack)
	SetHeldItems(right, left Stack)
}

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 Weapon

type Weapon interface {
	// AttackDamage returns the custom attack damage of 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) EncodeItem

func (w Wheat) EncodeItem() (id int32, meta int16)

EncodeItem ...

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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