Documentation ¶
Index ¶
- Constants
- func RegisterCreativeItem(item Stack)
- func RegisterEnchantment(id int, enchantment Enchantment)
- type Apple
- type ArmourContainer
- type Armoured
- type Axe
- func (a Axe) AttackDamage() float64
- func (a Axe) BaseMiningEfficiency(world.Block) float64
- func (a Axe) DurabilityInfo() DurabilityInfo
- func (a Axe) EncodeItem() (id int32, meta int16)
- func (a Axe) HarvestLevel() int
- func (a Axe) MaxCount() int
- func (a Axe) ToolType() tool.Type
- func (a Axe) UseOnBlock(pos world.BlockPos, _ world.Face, _ mgl64.Vec3, w *world.World, _ User, ...) bool
- type BeaconPayment
- type Beetroot
- type BoneMeal
- type Boots
- type Brick
- type Bucket
- type Carrier
- type Chestplate
- func (c Chestplate) DefencePoints() float64
- func (c Chestplate) DurabilityInfo() DurabilityInfo
- func (c Chestplate) EncodeItem() (id int32, meta int16)
- func (c Chestplate) KnockBackResistance() float64
- func (c Chestplate) MaxCount() int
- func (c Chestplate) Use(_ *world.World, user User, _ *UseContext) bool
- type ClayBall
- type Clock
- type Coal
- type Collector
- type Consumable
- type Consumer
- type Diamond
- type DurabilityInfo
- type Durable
- type Emerald
- type EnchantedApple
- type Enchantment
- type Flint
- type FlintAndSteel
- type GlassBottle
- type GlowstoneDust
- type GoldIngot
- type GoldNugget
- type GoldenApple
- type Helmet
- type Hoe
- func (h Hoe) AttackDamage() float64
- func (h Hoe) BaseMiningEfficiency(world.Block) float64
- func (h Hoe) DurabilityInfo() DurabilityInfo
- func (h Hoe) EncodeItem() (id int32, meta int16)
- func (h Hoe) MaxCount() int
- func (h Hoe) ToolType() tool.Type
- func (h Hoe) UseOnBlock(pos world.BlockPos, face world.Face, clickPos mgl64.Vec3, w *world.World, ...) bool
- type IronIngot
- type LapisLazuli
- type Leather
- type Leggings
- type MagmaCream
- type MaxCounter
- type MelonSlice
- type NetherQuartz
- type NetheriteIngot
- type Pickaxe
- func (p Pickaxe) AttackDamage() float64
- func (p Pickaxe) BaseMiningEfficiency(world.Block) float64
- func (p Pickaxe) DurabilityInfo() DurabilityInfo
- func (p Pickaxe) EncodeItem() (id int32, meta int16)
- func (p Pickaxe) HarvestLevel() int
- func (p Pickaxe) MaxCount() int
- func (p Pickaxe) ToolType() tool.Type
- type PoisonousPotato
- type Potion
- type PrismarineCrystals
- type Pufferfish
- type Shears
- func (s Shears) BaseMiningEfficiency(b world.Block) float64
- func (s Shears) DurabilityInfo() DurabilityInfo
- func (s Shears) EncodeItem() (id int32, meta int16)
- func (s Shears) HarvestLevel() int
- func (s Shears) MaxCount() int
- func (s Shears) ToolType() tool.Type
- func (s Shears) UseOnBlock(pos world.BlockPos, face world.Face, _ mgl64.Vec3, w *world.World, _ User, ...) bool
- type Shovel
- func (s Shovel) AttackDamage() float64
- func (s Shovel) BaseMiningEfficiency(world.Block) float64
- func (s Shovel) DurabilityInfo() DurabilityInfo
- func (s Shovel) EncodeItem() (id int32, meta int16)
- func (s Shovel) HarvestLevel() int
- func (s Shovel) MaxCount() int
- func (s Shovel) ToolType() tool.Type
- func (s Shovel) UseOnBlock(pos world.BlockPos, face world.Face, _ mgl64.Vec3, w *world.World, _ User, ...) bool
- type Stack
- func (s Stack) AddStack(s2 Stack) (a, b Stack)
- func (s Stack) AttackDamage() float64
- func (s Stack) Comparable(s2 Stack) bool
- func (s Stack) Count() int
- func (s Stack) CustomName() string
- func (s Stack) Damage(d int) Stack
- func (s Stack) Durability() int
- func (s Stack) Empty() bool
- func (s Stack) Enchantment(enchant Enchantment) (Enchantment, bool)
- func (s Stack) Enchantments() []Enchantment
- func (s Stack) Equal(s2 Stack) bool
- func (s Stack) Grow(n int) Stack
- func (s Stack) Item() world.Item
- func (s Stack) Lore() []string
- func (s Stack) MaxCount() int
- func (s Stack) MaxDurability() int
- func (s Stack) String() string
- func (s Stack) Value(key string) (val interface{}, ok bool)
- func (s Stack) WithCustomName(a ...interface{}) Stack
- func (s Stack) WithDurability(d int) Stack
- func (s Stack) WithEnchantment(ench Enchantment) Stack
- func (s Stack) WithLore(lines ...string) Stack
- func (s Stack) WithValue(key string, val interface{}) Stack
- func (s Stack) WithoutEnchantment(enchant Enchantment) Stack
- type Stick
- type Sword
- type Usable
- type UsableOnBlock
- type UsableOnEntity
- type UseContext
- type User
- type Weapon
- type Wheat
Constants ¶
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 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 ¶
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) BaseMiningEfficiency ¶
BaseMiningEfficiency ...
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) ConsumeDuration ¶
ConsumeDuration ...
type Boots ¶
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) KnockBackResistance ¶
KnockBackResistance ...
type Brick ¶
type Brick struct{}
Brick is an item made from clay, and is used for making bricks and flower pots.
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.
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 ¶
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) 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) 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 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.
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.
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 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) 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.
type GoldNugget ¶
type GoldNugget struct{}
GoldNugget is an item used to craft gold ingots & other various gold items.
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 ¶
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) KnockBackResistance ¶
KnockBackResistance ...
type Hoe ¶
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) BaseMiningEfficiency ¶
BaseMiningEfficiency ...
type IronIngot ¶
type IronIngot struct{}
IronIngot is a rare mineral melted from iron ore or obtained from loot chests.
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.
type Leggings ¶
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) DurabilityInfo ¶
func (l Leggings) DurabilityInfo() DurabilityInfo
DurabilityInfo ...
func (Leggings) KnockBackResistance ¶
KnockBackResistance ...
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 ¶
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 ¶
AttackDamage returns the attack damage of the pickaxe.
func (Pickaxe) BaseMiningEfficiency ¶
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) HarvestLevel ¶
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.
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 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 ¶
BaseMiningEfficiency ...
type Shovel ¶
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 ¶
AttackDamage returns the attack damage of the shovel.
func (Shovel) BaseMiningEfficiency ¶
BaseMiningEfficiency ...
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
Count returns the amount of items that is present on the stack. The count is guaranteed never to be negative.
func (Stack) CustomName ¶
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 ¶
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 ¶
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) 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 ¶
Equal checks if the two stacks are equal. Equal is equivalent to a Stack.Comparable check while also checking the count.
func (Stack) Grow ¶
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 ¶
Item returns the item that the stack holds. If the stack is considered empty (Stack.Empty()), Item will always return nil.
func (Stack) Lore ¶
Lore returns the lore set for the Stack. If no lore is present, the slice returned has a len of 0.
func (Stack) MaxCount ¶
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 ¶
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) Value ¶
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 ¶
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 ¶
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 ¶
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 ¶
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.
type Sword ¶
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 ¶
AttackDamage returns the attack damage of the sword.
func (Sword) BaseMiningEfficiency ¶
BaseMiningEfficiency always returns 1.5, unless the block passed is cobweb, in which case 15 is returned.
func (Sword) HarvestLevel ¶
HarvestLevel returns the harvest level of the sword tier.
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.
Source Files ¶
- apple.go
- armoured.go
- axe.go
- beetroot.go
- bone_meal.go
- boots.go
- brick.go
- bucket.go
- chestplate.go
- clay_ball.go
- clock.go
- coal.go
- creative.go
- diamond.go
- durability.go
- emerald.go
- enchanted_apple.go
- enchantment.go
- flint.go
- flint_and_steel.go
- glass_bottle.go
- glowstone_dust.go
- gold_ingot.go
- gold_nugget.go
- golden_apple.go
- helmet.go
- hoe.go
- iron_ingot.go
- item.go
- lapis_lazuli.go
- leather.go
- leggings.go
- magma_cream.go
- melon_slice.go
- nether_quartz.go
- netherite_ingot.go
- pickaxe.go
- poisonous_potato.go
- potion.go
- prismarine_crystal.go
- pufferfish.go
- register.go
- shears.go
- shovel.go
- stack.go
- stick.go
- sword.go
- wheat.go