Documentation ¶
Index ¶
- Variables
- func EyePosition(e world.Entity) mgl64.Vec3
- type AreaEffectCloud
- func (t *AreaEffectCloud) Close() error
- func (a *AreaEffectCloud) Duration() time.Duration
- func (a *AreaEffectCloud) Effects() []effect.Effect
- func (t *AreaEffectCloud) Position() mgl64.Vec3
- func (a *AreaEffectCloud) Radius() float64
- func (t *AreaEffectCloud) Rotation() cube.Rotation
- func (t *AreaEffectCloud) SetVelocity(v mgl64.Vec3)
- func (a *AreaEffectCloud) Tick(w *world.World, _ int64)
- func (a *AreaEffectCloud) Type() world.EntityType
- func (t *AreaEffectCloud) Velocity() mgl64.Vec3
- func (t *AreaEffectCloud) World() *world.World
- type AreaEffectCloudType
- type ArrowShakeAction
- type ArrowType
- type AttackDamageSource
- type Behaviour
- type BottleOfEnchantingType
- type Collector
- type Config
- type CriticalHitAction
- type DeathAction
- type DrowningDamageSource
- type EatAction
- type EffectManager
- type EggType
- type EnderPearlType
- type Ent
- func NewArrow(pos mgl64.Vec3, yaw, pitch float64, owner world.Entity) *Ent
- func NewArrowWithDamage(pos mgl64.Vec3, yaw, pitch, damage float64, owner world.Entity) *Ent
- func NewBottleOfEnchanting(pos mgl64.Vec3, owner world.Entity) *Ent
- func NewEgg(pos mgl64.Vec3, owner world.Entity) *Ent
- func NewEnderPearl(pos mgl64.Vec3, owner world.Entity) *Ent
- func NewLingeringPotion(pos mgl64.Vec3, owner world.Entity, t potion.Potion) *Ent
- func NewSnowball(pos mgl64.Vec3, owner world.Entity) *Ent
- func NewSplashPotion(pos mgl64.Vec3, owner world.Entity, t potion.Potion) *Ent
- func NewTippedArrow(pos mgl64.Vec3, yaw, pitch float64, owner world.Entity, tip potion.Potion) *Ent
- func NewTippedArrowWithDamage(pos mgl64.Vec3, yaw, pitch, damage float64, owner world.Entity, ...) *Ent
- func (e *Ent) Close() error
- func (e *Ent) Critical() bool
- func (e *Ent) Explode(src mgl64.Vec3, impact float64, conf block.ExplosionConfig)
- func (e *Ent) Extinguish()
- func (e *Ent) OnFireDuration() time.Duration
- func (e *Ent) Owner() world.Entity
- func (e *Ent) Position() mgl64.Vec3
- func (e *Ent) Potion() potion.Potion
- func (e *Ent) Rotation() cube.Rotation
- func (e *Ent) SetOnFire(duration time.Duration)
- func (e *Ent) SetVelocity(v mgl64.Vec3)
- func (e *Ent) Tick(w *world.World, current int64)
- func (e *Ent) Type() world.EntityType
- func (e *Ent) Velocity() mgl64.Vec3
- func (e *Ent) World() *world.World
- type ExperienceManager
- func (e *ExperienceManager) Add(amount int) (level int, progress float64)
- func (e *ExperienceManager) Experience() int
- func (e *ExperienceManager) Level() int
- func (e *ExperienceManager) Progress() float64
- func (e *ExperienceManager) Reset()
- func (e *ExperienceManager) SetLevel(level int)
- func (e *ExperienceManager) SetProgress(progress float64)
- type ExperienceOrb
- func (t *ExperienceOrb) Close() error
- func (e *ExperienceOrb) Experience() int
- func (e *ExperienceOrb) Explode(mgl64.Vec3, float64, block.ExplosionConfig)
- func (t *ExperienceOrb) Position() mgl64.Vec3
- func (t *ExperienceOrb) Rotation() cube.Rotation
- func (t *ExperienceOrb) SetVelocity(v mgl64.Vec3)
- func (e *ExperienceOrb) Tick(w *world.World, current int64)
- func (*ExperienceOrb) Type() world.EntityType
- func (t *ExperienceOrb) Velocity() mgl64.Vec3
- func (t *ExperienceOrb) World() *world.World
- type ExperienceOrbType
- type ExplosionDamageSource
- type Eyed
- type FallDamageSource
- type FallingBlock
- func (f *FallingBlock) Block() world.Block
- func (t *FallingBlock) Close() error
- func (f *FallingBlock) Explode(mgl64.Vec3, float64, block.ExplosionConfig)
- func (f *FallingBlock) FallDistance() float64
- func (t *FallingBlock) Position() mgl64.Vec3
- func (t *FallingBlock) Rotation() cube.Rotation
- func (t *FallingBlock) SetVelocity(v mgl64.Vec3)
- func (f *FallingBlock) Tick(w *world.World, _ int64)
- func (*FallingBlock) Type() world.EntityType
- func (t *FallingBlock) Velocity() mgl64.Vec3
- func (t *FallingBlock) World() *world.World
- type FallingBlockType
- type Firework
- func (f *Firework) Attached() bool
- func (t *Firework) Close() error
- func (f *Firework) Firework() item.Firework
- func (f *Firework) Owner() world.Entity
- func (t *Firework) Position() mgl64.Vec3
- func (f *Firework) Rotation() cube.Rotation
- func (t *Firework) SetVelocity(v mgl64.Vec3)
- func (f *Firework) Tick(w *world.World, current int64)
- func (f *Firework) Type() world.EntityType
- func (t *Firework) Velocity() mgl64.Vec3
- func (t *Firework) World() *world.World
- type FireworkExplosionAction
- type FireworkType
- type Flammable
- type FoodHealingSource
- type GlideDamageSource
- type HealthManager
- type HurtAction
- type Item
- func (t *Item) Close() error
- func (it *Item) Explode(mgl64.Vec3, float64, block.ExplosionConfig)
- func (it *Item) Item() item.Stack
- func (t *Item) Position() mgl64.Vec3
- func (t *Item) Rotation() cube.Rotation
- func (it *Item) SetPickupDelay(d time.Duration)
- func (t *Item) SetVelocity(v mgl64.Vec3)
- func (it *Item) Tick(w *world.World, current int64)
- func (it *Item) Type() world.EntityType
- func (t *Item) Velocity() mgl64.Vec3
- func (t *Item) World() *world.World
- type ItemType
- type Lightning
- type LightningDamageSource
- type LightningType
- type LingeringPotionType
- type Living
- type Movement
- type MovementComputer
- type PickedUpAction
- type ProjectileBehaviour
- type ProjectileBehaviourConfig
- type ProjectileDamageSource
- type SnowballType
- type Solidifiable
- type SplashPotionType
- type SuffocationDamageSource
- type SwingArmAction
- type TNT
- func (t *TNT) Close() error
- func (t *TNT) Explode(explosionPos mgl64.Vec3, impact float64, _ block.ExplosionConfig)
- func (t *TNT) Fuse() time.Duration
- func (t *TNT) Position() mgl64.Vec3
- func (t *TNT) Rotation() cube.Rotation
- func (t *TNT) SetVelocity(v mgl64.Vec3)
- func (t *TNT) Tick(w *world.World, _ int64)
- func (*TNT) Type() world.EntityType
- func (t *TNT) Velocity() mgl64.Vec3
- func (t *TNT) World() *world.World
- type TNTType
- type Text
- func (t *Text) Close() error
- func (t *Text) Immobile() bool
- func (t *Text) NameTag() string
- func (t *Text) Position() mgl64.Vec3
- func (t *Text) Rotation() cube.Rotation
- func (t *Text) SetText(text string)
- func (t *Text) SetVelocity(v mgl64.Vec3)
- func (t *Text) Text() string
- func (*Text) Type() world.EntityType
- func (t *Text) Velocity() mgl64.Vec3
- func (t *Text) World() *world.World
- type TextType
- type VoidDamageSource
Constants ¶
This section is empty.
Variables ¶
var DefaultRegistry = conf.New([]world.EntityType{ AreaEffectCloudType{}, ArrowType{}, BottleOfEnchantingType{}, EggType{}, EnderPearlType{}, ExperienceOrbType{}, FallingBlockType{}, FireworkType{}, ItemType{}, LightningType{}, LingeringPotionType{}, SnowballType{}, SplashPotionType{}, TNTType{}, TextType{}, })
DefaultRegistry is a world.EntityRegistry that registers all default entities implemented by Dragonfly.
Functions ¶
Types ¶
type AreaEffectCloud ¶ added in v0.8.0
type AreaEffectCloud struct {
// contains filtered or unexported fields
}
AreaEffectCloud is the cloud that is created when: lingering potions are thrown; creepers with potion effects explode; dragon fireballs hit the ground.
func NewAreaEffectCloud ¶ added in v0.8.0
func NewAreaEffectCloud(pos mgl64.Vec3, p potion.Potion) *AreaEffectCloud
NewAreaEffectCloud ...
func NewAreaEffectCloudWith ¶ added in v0.8.0
func NewAreaEffectCloudWith(pos mgl64.Vec3, t potion.Potion, duration, reapplicationDelay, durationOnUse time.Duration, radius, radiusOnUse, radiusGrowth float64) *AreaEffectCloud
NewAreaEffectCloudWith ...
func (*AreaEffectCloud) Close ¶ added in v0.8.0
func (t *AreaEffectCloud) Close() error
Close closes the transform and removes the associated entity from the world.
func (*AreaEffectCloud) Duration ¶ added in v0.8.0
func (a *AreaEffectCloud) Duration() time.Duration
Duration returns the duration of the cloud.
func (*AreaEffectCloud) Effects ¶ added in v0.8.0
func (a *AreaEffectCloud) Effects() []effect.Effect
Effects returns the effects the area effect cloud provides.
func (*AreaEffectCloud) Position ¶ added in v0.8.0
Position returns the current position of the entity.
func (*AreaEffectCloud) Radius ¶ added in v0.8.0
func (a *AreaEffectCloud) Radius() float64
Radius returns the current radius of the area effect cloud.
func (*AreaEffectCloud) SetVelocity ¶ added in v0.8.0
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
func (*AreaEffectCloud) Tick ¶ added in v0.8.0
func (a *AreaEffectCloud) Tick(w *world.World, _ int64)
Tick ...
func (*AreaEffectCloud) Type ¶ added in v0.8.7
func (a *AreaEffectCloud) Type() world.EntityType
Type returns AreaEffectCloudType.
type AreaEffectCloudType ¶ added in v0.8.7
type AreaEffectCloudType struct{}
AreaEffectCloudType is a world.EntityType implementation for AreaEffectCloud.
func (AreaEffectCloudType) BBox ¶ added in v0.8.7
func (AreaEffectCloudType) BBox(e world.Entity) cube.BBox
func (AreaEffectCloudType) DecodeNBT ¶ added in v0.8.7
func (AreaEffectCloudType) DecodeNBT(m map[string]any) world.Entity
func (AreaEffectCloudType) EncodeEntity ¶ added in v0.8.7
func (AreaEffectCloudType) EncodeEntity() string
type ArrowShakeAction ¶ added in v0.6.0
type ArrowShakeAction struct { // Duration is the duration of the shake. Duration time.Duration // contains filtered or unexported fields }
ArrowShakeAction makes an arrow entity display a shaking animation for the given duration.
func (ArrowShakeAction) EntityAction ¶ added in v0.6.0
func (ArrowShakeAction) EntityAction()
type ArrowType ¶ added in v0.8.7
type ArrowType struct{}
ArrowType is a world.EntityType implementation for Arrow.
func (ArrowType) EncodeEntity ¶ added in v0.8.7
type AttackDamageSource ¶ added in v0.8.6
type AttackDamageSource struct { // Attacker holds the attacking entity. The entity may be a player or // any other entity. Attacker world.Entity }
AttackDamageSource is used for damage caused by other entities, for example when a player attacks another player.
func (AttackDamageSource) Fire ¶ added in v0.8.6
func (AttackDamageSource) Fire() bool
func (AttackDamageSource) ReducedByArmour ¶ added in v0.8.6
func (AttackDamageSource) ReducedByArmour() bool
func (AttackDamageSource) ReducedByResistance ¶ added in v0.8.6
func (AttackDamageSource) ReducedByResistance() bool
type Behaviour ¶ added in v0.9.0
type Behaviour interface { // Tick ticks the Ent using the Behaviour. A Movement is returned that // specifies the movement of the entity over the tick. Nil may be returned // if the entity did not move. Tick(e *Ent) *Movement }
Behaviour implements the behaviour of an Ent.
type BottleOfEnchantingType ¶ added in v0.8.7
type BottleOfEnchantingType struct{}
BottleOfEnchantingType is a world.EntityType for BottleOfEnchanting.
func (BottleOfEnchantingType) BBox ¶ added in v0.8.7
func (BottleOfEnchantingType) BBox(world.Entity) cube.BBox
func (BottleOfEnchantingType) DecodeNBT ¶ added in v0.8.7
func (BottleOfEnchantingType) DecodeNBT(m map[string]any) world.Entity
func (BottleOfEnchantingType) EncodeEntity ¶ added in v0.8.7
func (BottleOfEnchantingType) EncodeEntity() string
func (BottleOfEnchantingType) EncodeNBT ¶ added in v0.8.7
func (BottleOfEnchantingType) EncodeNBT(e world.Entity) map[string]any
func (BottleOfEnchantingType) Glint ¶ added in v0.9.0
func (BottleOfEnchantingType) Glint() bool
Glint returns true if the bottle should render with glint. It always returns true for bottles of enchanting.
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 item.Stack) (n int) // GameMode returns the gamemode of the collector. GameMode() world.GameMode }
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 Config ¶ added in v0.9.0
type Config struct {
Behaviour Behaviour
}
Config allows specifying options that influence the way an Ent behaves.
type CriticalHitAction ¶ added in v0.6.0
type CriticalHitAction struct {
// contains filtered or unexported fields
}
CriticalHitAction is a world.EntityAction that makes an entity display critical hit particles. This will show stars around the entity.
func (CriticalHitAction) EntityAction ¶ added in v0.6.0
func (CriticalHitAction) EntityAction()
type DeathAction ¶ added in v0.6.0
type DeathAction struct {
// contains filtered or unexported fields
}
DeathAction is a world.EntityAction that makes an entity display the death animation. After this animation, the entity disappears from viewers watching it.
func (DeathAction) EntityAction ¶ added in v0.6.0
func (DeathAction) EntityAction()
type DrowningDamageSource ¶ added in v0.8.6
type DrowningDamageSource struct{}
DrowningDamageSource is used for damage caused by an entity drowning in water.
func (DrowningDamageSource) Fire ¶ added in v0.8.6
func (DrowningDamageSource) Fire() bool
func (DrowningDamageSource) ReducedByArmour ¶ added in v0.8.6
func (DrowningDamageSource) ReducedByArmour() bool
func (DrowningDamageSource) ReducedByResistance ¶ added in v0.8.6
func (DrowningDamageSource) ReducedByResistance() bool
type EatAction ¶ added in v0.6.0
type EatAction struct {
// contains filtered or unexported fields
}
EatAction is a world.EntityAction that makes an entity display the eating particles at its mouth to viewers with the item in its hand being eaten.
func (EatAction) EntityAction ¶ added in v0.6.0
func (EatAction) EntityAction()
type EffectManager ¶
type EffectManager struct {
// contains filtered or unexported fields
}
EffectManager manages the effects of an entity. The effect manager will only store effects that last for a specific duration. Instant effects are applied instantly and not stored.
func NewEffectManager ¶
func NewEffectManager() *EffectManager
NewEffectManager creates and returns a new initialised EffectManager.
func (*EffectManager) Add ¶
Add adds an effect to the manager. If the effect is instant, it is applied to the Living entity passed immediately. If not, the effect is added to the EffectManager and is applied to the entity every time the Tick method is called. Effect levels of 0 or below will not do anything. Effect returns the final effect it added to the entity. That might be the effect passed or an effect with a higher level/duration than the one passed. Add panics if the effect has a negative duration or level.
func (*EffectManager) Effect ¶ added in v0.5.0
Effect returns the effect instance and true if the entity has the effect. If not found, it will return an empty effect instance and false.
func (*EffectManager) Effects ¶
func (m *EffectManager) Effects() []effect.Effect
Effects returns a list of all effects currently present in the effect manager. This will never include effects that have expired.
func (*EffectManager) Remove ¶
func (m *EffectManager) Remove(e effect.Type, entity Living)
Remove removes any Effect present in the EffectManager with the type of the effect passed.
func (*EffectManager) Tick ¶
func (m *EffectManager) Tick(entity Living)
Tick ticks the EffectManager, applying all of its effects to the Living entity passed when applicable and removing expired effects.
type EggType ¶ added in v0.8.7
type EggType struct{}
EggType is a world.EntityType implementation for Egg.
func (EggType) EncodeEntity ¶ added in v0.8.7
type EnderPearlType ¶ added in v0.8.7
type EnderPearlType struct{}
EnderPearlType is a world.EntityType implementation for EnderPearl.
func (EnderPearlType) DecodeNBT ¶ added in v0.8.7
func (EnderPearlType) DecodeNBT(m map[string]any) world.Entity
func (EnderPearlType) EncodeEntity ¶ added in v0.8.7
func (EnderPearlType) EncodeEntity() string
type Ent ¶ added in v0.9.0
type Ent struct {
// contains filtered or unexported fields
}
Ent is a world.Entity implementation that allows entity implementations to share a lot of code. It is currently under development and is prone to (breaking) changes.
func NewArrow ¶ added in v0.6.0
NewArrow creates a new Arrow and returns it. It is equivalent to calling NewTippedArrow with `potion.Potion{}` as tip.
func NewArrowWithDamage ¶ added in v0.8.0
NewArrowWithDamage creates a new Arrow with the given base damage, and returns it. It is equivalent to calling NewTippedArrowWithDamage with `potion.Potion{}` as tip.
func NewBottleOfEnchanting ¶ added in v0.8.0
NewBottleOfEnchanting ...
func NewEgg ¶ added in v0.8.1
NewEgg creates an Egg entity. Egg is as a throwable entity that can be used to spawn chicks.
func NewEnderPearl ¶ added in v0.5.0
NewEnderPearl creates an EnderPearl entity. EnderPearl is a smooth, greenish- blue item used to teleport.
func NewLingeringPotion ¶ added in v0.8.0
NewLingeringPotion creates a new lingering 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 NewSnowball ¶ added in v0.4.0
NewSnowball creates a snowball entity at a position with an owner entity.
func NewSplashPotion ¶ added in v0.5.0
NewSplashPotion creates a splash potion. SplashPotion is an item that grants effects when thrown.
func NewTippedArrow ¶ added in v0.6.0
NewTippedArrow creates a new Arrow with a potion effect added to an entity when hit.
func NewTippedArrowWithDamage ¶ added in v0.8.0
func NewTippedArrowWithDamage(pos mgl64.Vec3, yaw, pitch, damage float64, owner world.Entity, tip potion.Potion) *Ent
NewTippedArrowWithDamage creates a new Arrow with a potion effect added to an entity when hit and, and returns it. It uses the given damage as the base damage.
func (*Ent) Close ¶ added in v0.9.0
Close closes the Ent and removes the associated entity from the world.
func (*Ent) Critical ¶ added in v0.9.0
Critical returns true if the entity's behaviour marked it as critical.
func (*Ent) Explode ¶ added in v0.9.0
Explode propagates the explosion behaviour of the underlying Behaviour.
func (*Ent) OnFireDuration ¶ added in v0.9.0
OnFireDuration ...
func (*Ent) Owner ¶ added in v0.9.0
Owner returns the owner of the Ent, or nil if it doesn't have one.
func (*Ent) Potion ¶ added in v0.9.0
Potion propagates the potion.Potion specified by the underlying Behaviour.
func (*Ent) SetVelocity ¶ added in v0.9.0
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
func (*Ent) Tick ¶ added in v0.9.0
Tick ticks Ent, progressing its lifetime and closing the entity if it is in the void.
func (*Ent) Type ¶ added in v0.9.0
func (e *Ent) Type() world.EntityType
Type returns the world.EntityType passed to Config.New.
type ExperienceManager ¶ added in v0.7.0
type ExperienceManager struct {
// contains filtered or unexported fields
}
ExperienceManager manages experience and levels for entities, and provides functions to add, remove, and calculate experience needed for upcoming levels.
func NewExperienceManager ¶ added in v0.7.0
func NewExperienceManager() *ExperienceManager
NewExperienceManager returns a new ExperienceManager with no experience.
func (*ExperienceManager) Add ¶ added in v0.7.0
func (e *ExperienceManager) Add(amount int) (level int, progress float64)
Add adds experience to the total experience and recalculates the level and progress if necessary. Passing a negative value is valid. If the new experience would otherwise drop below 0, it is set to 0.
func (*ExperienceManager) Experience ¶ added in v0.7.0
func (e *ExperienceManager) Experience() int
Experience returns the amount of experience the manager currently has.
func (*ExperienceManager) Level ¶ added in v0.7.0
func (e *ExperienceManager) Level() int
Level returns the current experience level.
func (*ExperienceManager) Progress ¶ added in v0.7.0
func (e *ExperienceManager) Progress() float64
Progress returns the progress towards the next level.
func (*ExperienceManager) Reset ¶ added in v0.7.0
func (e *ExperienceManager) Reset()
Reset resets the total experience, level, and progress of the manager to zero.
func (*ExperienceManager) SetLevel ¶ added in v0.7.0
func (e *ExperienceManager) SetLevel(level int)
SetLevel sets the level of the manager.
func (*ExperienceManager) SetProgress ¶ added in v0.7.0
func (e *ExperienceManager) SetProgress(progress float64)
SetProgress sets the progress of the manager.
type ExperienceOrb ¶ added in v0.7.0
type ExperienceOrb struct {
// contains filtered or unexported fields
}
ExperienceOrb is an entity that carries a varying amount of experience. These can be collected by nearby players, and are then added to the player's own experience.
func NewExperienceOrb ¶ added in v0.7.0
func NewExperienceOrb(pos mgl64.Vec3, xp int) *ExperienceOrb
NewExperienceOrb creates a new experience orb and returns it.
func NewExperienceOrbs ¶ added in v0.7.0
func NewExperienceOrbs(pos mgl64.Vec3, amount int) (orbs []*ExperienceOrb)
NewExperienceOrbs takes in a position and an amount and automatically splits the amount into multiple orbs, returning a slice of the created orbs.
func (*ExperienceOrb) Close ¶ added in v0.7.0
func (t *ExperienceOrb) Close() error
Close closes the transform and removes the associated entity from the world.
func (*ExperienceOrb) Experience ¶ added in v0.7.0
func (e *ExperienceOrb) Experience() int
Experience returns the amount of experience the orb carries.
func (*ExperienceOrb) Explode ¶ added in v0.8.0
func (e *ExperienceOrb) Explode(mgl64.Vec3, float64, block.ExplosionConfig)
Explode ...
func (*ExperienceOrb) Position ¶ added in v0.7.0
Position returns the current position of the entity.
func (*ExperienceOrb) SetVelocity ¶ added in v0.7.0
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
func (*ExperienceOrb) Tick ¶ added in v0.7.0
func (e *ExperienceOrb) Tick(w *world.World, current int64)
Tick ...
func (*ExperienceOrb) Type ¶ added in v0.8.7
func (*ExperienceOrb) Type() world.EntityType
Type returns ExperienceOrbType.
type ExperienceOrbType ¶ added in v0.8.7
type ExperienceOrbType struct{}
ExperienceOrbType is a world.EntityType implementation for ExperienceOrb.
func (ExperienceOrbType) BBox ¶ added in v0.8.7
func (ExperienceOrbType) BBox(world.Entity) cube.BBox
func (ExperienceOrbType) DecodeNBT ¶ added in v0.8.7
func (ExperienceOrbType) DecodeNBT(m map[string]any) world.Entity
func (ExperienceOrbType) EncodeEntity ¶ added in v0.8.7
func (ExperienceOrbType) EncodeEntity() string
type ExplosionDamageSource ¶ added in v0.8.6
type ExplosionDamageSource struct{}
ExplosionDamageSource is used for damage caused by an explosion.
func (ExplosionDamageSource) AffectedByEnchantment ¶ added in v0.8.6
func (ExplosionDamageSource) AffectedByEnchantment(e item.EnchantmentType) bool
func (ExplosionDamageSource) Fire ¶ added in v0.8.6
func (ExplosionDamageSource) Fire() bool
func (ExplosionDamageSource) ReducedByArmour ¶ added in v0.8.6
func (ExplosionDamageSource) ReducedByArmour() bool
func (ExplosionDamageSource) ReducedByResistance ¶ added in v0.8.6
func (ExplosionDamageSource) ReducedByResistance() bool
type Eyed ¶
type Eyed interface { // EyeHeight returns the offset from their base position that the eyes of an entity are found at. EyeHeight() float64 }
Eyed represents an entity that has eyes.
type FallDamageSource ¶ added in v0.8.6
type FallDamageSource struct{}
FallDamageSource is used for damage caused by falling.
func (FallDamageSource) AffectedByEnchantment ¶ added in v0.8.6
func (FallDamageSource) AffectedByEnchantment(e item.EnchantmentType) bool
func (FallDamageSource) Fire ¶ added in v0.8.6
func (FallDamageSource) Fire() bool
func (FallDamageSource) ReducedByArmour ¶ added in v0.8.6
func (FallDamageSource) ReducedByArmour() bool
func (FallDamageSource) ReducedByResistance ¶ added in v0.8.6
func (FallDamageSource) ReducedByResistance() bool
type FallingBlock ¶
type FallingBlock struct {
// contains filtered or unexported fields
}
FallingBlock is the entity form of a block that appears when a gravity-affected block loses its support.
func NewFallingBlock ¶
func NewFallingBlock(block world.Block, pos mgl64.Vec3) *FallingBlock
NewFallingBlock creates a new FallingBlock entity.
func (*FallingBlock) Close ¶
func (t *FallingBlock) Close() error
Close closes the transform and removes the associated entity from the world.
func (*FallingBlock) Explode ¶ added in v0.8.0
func (f *FallingBlock) Explode(mgl64.Vec3, float64, block.ExplosionConfig)
Explode ...
func (*FallingBlock) FallDistance ¶ added in v0.7.3
func (f *FallingBlock) FallDistance() float64
FallDistance ...
func (*FallingBlock) SetVelocity ¶
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
func (*FallingBlock) Type ¶ added in v0.8.7
func (*FallingBlock) Type() world.EntityType
Type returns FallingBlockType.
type FallingBlockType ¶ added in v0.8.7
type FallingBlockType struct{}
FallingBlockType is a world.EntityType implementation for FallingBlock.
func (FallingBlockType) DecodeNBT ¶ added in v0.8.7
func (FallingBlockType) DecodeNBT(m map[string]any) world.Entity
func (FallingBlockType) EncodeEntity ¶ added in v0.8.7
func (FallingBlockType) EncodeEntity() string
func (FallingBlockType) EncodeNBT ¶ added in v0.8.7
func (FallingBlockType) EncodeNBT(e world.Entity) map[string]any
func (FallingBlockType) NetworkOffset ¶ added in v0.9.0
func (FallingBlockType) NetworkOffset() float64
type Firework ¶ added in v0.8.0
type Firework struct {
// contains filtered or unexported fields
}
Firework is an item (and entity) used for creating decorative explosions, boosting when flying with elytra, and loading into a crossbow as ammunition.
func NewFirework ¶ added in v0.8.0
NewFirework ...
func (*Firework) Attached ¶ added in v0.8.0
Attached returns true if the firework is currently attached to the owner. This is mainly the case with gliding.
func (*Firework) Close ¶ added in v0.8.0
func (t *Firework) Close() error
Close closes the transform and removes the associated entity from the world.
func (*Firework) Firework ¶ added in v0.8.0
Firework returns the underlying item.Firework of the Firework.
func (*Firework) SetVelocity ¶ added in v0.8.0
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
func (*Firework) Type ¶ added in v0.8.7
func (f *Firework) Type() world.EntityType
Type returns FireworkType.
type FireworkExplosionAction ¶ added in v0.8.0
type FireworkExplosionAction struct {
// contains filtered or unexported fields
}
FireworkExplosionAction is a world.EntityAction that makes a Firework rocket display an explosion particle.
func (FireworkExplosionAction) EntityAction ¶ added in v0.8.0
func (FireworkExplosionAction) EntityAction()
type FireworkType ¶ added in v0.8.7
type FireworkType struct{}
FireworkType is a world.EntityType implementation for Firework.
func (FireworkType) DecodeNBT ¶ added in v0.8.7
func (FireworkType) DecodeNBT(m map[string]any) world.Entity
func (FireworkType) EncodeEntity ¶ added in v0.8.7
func (FireworkType) EncodeEntity() string
type Flammable ¶
type Flammable interface { // OnFireDuration returns duration of fire in ticks. OnFireDuration() time.Duration // SetOnFire sets the entity on fire for the specified duration. SetOnFire(duration time.Duration) // Extinguish extinguishes the entity. Extinguish() }
Flammable is an interface for entities that can be set on fire.
type FoodHealingSource ¶ added in v0.8.6
type FoodHealingSource struct{}
FoodHealingSource is a healing source used for when an entity regenerates health automatically when their food bar is at least 90% filled.
func (FoodHealingSource) HealingSource ¶ added in v0.8.6
func (FoodHealingSource) HealingSource()
type GlideDamageSource ¶ added in v0.8.6
type GlideDamageSource struct{}
GlideDamageSource is used for damage caused by gliding into a block.
func (GlideDamageSource) Fire ¶ added in v0.8.6
func (GlideDamageSource) Fire() bool
func (GlideDamageSource) ReducedByArmour ¶ added in v0.8.6
func (GlideDamageSource) ReducedByArmour() bool
func (GlideDamageSource) ReducedByResistance ¶ added in v0.8.6
func (GlideDamageSource) ReducedByResistance() bool
type HealthManager ¶
type HealthManager struct {
// contains filtered or unexported fields
}
HealthManager handles the health of an entity.
func NewHealthManager ¶
func NewHealthManager(health, max float64) *HealthManager
NewHealthManager returns a new health manager with the health and max health provided.
func (*HealthManager) AddHealth ¶
func (m *HealthManager) AddHealth(health float64)
AddHealth adds a given amount of health points to the player. If the health added to the current health exceeds the max, health will be set to the max. If the health is instead negative and results in a health lower than 0, the final health will be 0.
func (*HealthManager) Health ¶
func (m *HealthManager) Health() float64
Health returns the current health of an entity.
func (*HealthManager) MaxHealth ¶
func (m *HealthManager) MaxHealth() float64
MaxHealth returns the maximum health of the entity.
func (*HealthManager) SetMaxHealth ¶
func (m *HealthManager) SetMaxHealth(max float64)
SetMaxHealth changes the max health of an entity to the maximum passed. If the maximum is set to 0 or lower, SetMaxHealth will default to a value of 1.
type HurtAction ¶ added in v0.6.0
type HurtAction struct {
// contains filtered or unexported fields
}
HurtAction is a world.EntityAction that makes an entity display the animation for being hurt. The entity will be shown as red for a short duration.
func (HurtAction) EntityAction ¶ added in v0.6.0
func (HurtAction) EntityAction()
type Item ¶
type Item struct {
// contains filtered or unexported fields
}
Item represents an item entity which may be added to the world. Players and several humanoid entities such as zombies are able to pick up these entities so that the items are added to their inventory.
func NewItem ¶
NewItem creates a new item entity using the item stack passed. The item entity will be positioned at the position passed. If the stack's count exceeds its max count, the count of the stack will be changed to the maximum.
func (*Item) Close ¶
func (t *Item) Close() error
Close closes the transform and removes the associated entity from the world.
func (*Item) SetPickupDelay ¶
SetPickupDelay sets a delay passed until the item can be picked up. If d is negative or d.Seconds()*20 higher than math.MaxInt16, the item will never be able to be picked up.
func (*Item) SetVelocity ¶
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
type ItemType ¶ added in v0.8.7
type ItemType struct{}
ItemType is a world.EntityType implementation for Item.
func (ItemType) EncodeEntity ¶ added in v0.8.7
func (ItemType) NetworkOffset ¶ added in v0.9.0
type Lightning ¶ added in v0.3.0
type Lightning struct {
// contains filtered or unexported fields
}
Lightning is a lethal element to thunderstorms. Lightning momentarily increases the skylight's brightness to slightly greater than full daylight.
func NewLightning ¶ added in v0.3.0
NewLightning creates a lightning entity. The lightning entity will be positioned at the position passed.
func NewLightningWithDamage ¶ added in v0.8.2
NewLightningWithDamage creates a lightning entity but lets you specify damage and whether blocks and entities should be set on fire.
func (*Lightning) Position ¶ added in v0.3.0
Position returns the current position of the lightning entity.
func (*Lightning) Type ¶ added in v0.8.7
func (*Lightning) Type() world.EntityType
Type returns LightningType.
type LightningDamageSource ¶ added in v0.8.6
type LightningDamageSource struct{}
LightningDamageSource is used for damage caused by being struck by lightning.
func (LightningDamageSource) Fire ¶ added in v0.8.6
func (LightningDamageSource) Fire() bool
func (LightningDamageSource) ReducedByArmour ¶ added in v0.8.6
func (LightningDamageSource) ReducedByArmour() bool
func (LightningDamageSource) ReducedByResistance ¶ added in v0.8.6
func (LightningDamageSource) ReducedByResistance() bool
type LightningType ¶ added in v0.8.7
type LightningType struct{}
LightningType is a world.EntityType implementation for Lightning.
func (LightningType) DecodeNBT ¶ added in v0.8.7
func (LightningType) DecodeNBT(map[string]any) world.Entity
func (LightningType) EncodeEntity ¶ added in v0.8.7
func (LightningType) EncodeEntity() string
type LingeringPotionType ¶ added in v0.8.7
type LingeringPotionType struct{}
LingeringPotionType is a world.EntityType implementation for LingeringPotion.
func (LingeringPotionType) BBox ¶ added in v0.8.7
func (LingeringPotionType) BBox(world.Entity) cube.BBox
func (LingeringPotionType) DecodeNBT ¶ added in v0.8.7
func (LingeringPotionType) DecodeNBT(m map[string]any) world.Entity
func (LingeringPotionType) EncodeEntity ¶ added in v0.8.7
func (LingeringPotionType) EncodeEntity() string
func (LingeringPotionType) EncodeNBT ¶ added in v0.8.7
func (LingeringPotionType) EncodeNBT(e world.Entity) map[string]any
func (LingeringPotionType) Glint ¶ added in v0.9.0
func (LingeringPotionType) Glint() bool
type Living ¶
type Living interface { world.Entity // Health returns the health of the entity. Health() float64 // MaxHealth returns the maximum health of the entity. MaxHealth() float64 // SetMaxHealth changes the maximum health of the entity to the value passed. SetMaxHealth(v float64) // Dead checks if the entity is considered dead. True is returned if the health of the entity is equal to or // lower than 0. Dead() bool // AttackImmune checks if the entity is currently immune to entity attacks. Entities typically turn // immune for half a second after being attacked. AttackImmune() bool // Hurt hurts the entity for a given amount of damage. The source passed represents the cause of the // damage, for example AttackDamageSource if the entity is attacked by another entity. // If the final damage exceeds the health that the entity currently has, the entity is killed. // Hurt returns the final amount of damage dealt to the Living entity and returns whether the Living entity // was vulnerable to the damage at all. Hurt(damage float64, src world.DamageSource) (n float64, vulnerable bool) // Heal heals the entity for a given amount of health. The source passed represents the cause of the // healing, for example FoodHealingSource if the entity healed by having a full food bar. If the health // added to the original health exceeds the entity's max health, Heal may not add the full amount. Heal(health float64, src world.HealingSource) // KnockBack knocks the entity back with a given force and height. A source is passed which indicates the // source of the velocity, typically the position of an attacking entity. The source is used to calculate // the direction which the entity should be knocked back in. KnockBack(src mgl64.Vec3, force, height float64) // Velocity returns the players current velocity. Velocity() mgl64.Vec3 // SetVelocity updates the entity's velocity. SetVelocity(velocity mgl64.Vec3) // AddEffect adds an entity.Effect to the entity. If the effect is instant, it is applied to the entity // immediately. If not, the effect is applied to the entity 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 entity. RemoveEffect(e effect.Type) // Effects returns any effect currently applied to the entity. The returned effects are guaranteed not to have // expired when returned. Effects() []effect.Effect // Speed returns the current speed of the living entity. The default value is different for each entity. Speed() float64 // SetSpeed sets the speed of an entity to a new value. SetSpeed(float64) }
Living represents an entity that is alive and that has health. It is able to take damage and will die upon taking fatal damage.
type Movement ¶ added in v0.4.1
type Movement struct {
// contains filtered or unexported fields
}
Movement represents the movement of a world.Entity as a result of a call to MovementComputer.TickMovement. The resulting position and velocity can be obtained by calling Position and Velocity. These can be sent to viewers by calling Send.
func (*Movement) Position ¶ added in v0.4.1
Position returns the position as a result of the Movement as an mgl64.Vec3.
func (*Movement) Rotation ¶ added in v0.4.1
Rotation returns the rotation, yaw and pitch, of the entity after the Movement.
type MovementComputer ¶
type MovementComputer struct {
Gravity, Drag float64
DragBeforeGravity bool
// contains filtered or unexported fields
}
MovementComputer is used to compute movement of an entity. When constructed, the Gravity of the entity the movement is computed for must be passed.
func (*MovementComputer) OnGround ¶
func (c *MovementComputer) OnGround() bool
OnGround checks if the entity that this computer calculates is currently on the ground.
func (*MovementComputer) TickMovement ¶ added in v0.2.0
func (c *MovementComputer) TickMovement(e world.Entity, pos, vel mgl64.Vec3, yaw, pitch float64) *Movement
TickMovement performs a movement tick on an entity. Velocity is applied and changed according to the values of its Drag and Gravity. The new position of the entity after movement is returned. The resulting Movement can be sent to viewers by calling Movement.Send.
type PickedUpAction ¶ added in v0.6.0
type PickedUpAction struct { // Collector is the entity that collected the item. Collector world.Entity // contains filtered or unexported fields }
PickedUpAction is a world.EntityAction that makes an item get picked up by a collector. After this animation, the item disappears from viewers watching it.
func (PickedUpAction) EntityAction ¶ added in v0.6.0
func (PickedUpAction) EntityAction()
type ProjectileBehaviour ¶ added in v0.9.0
type ProjectileBehaviour struct {
// contains filtered or unexported fields
}
ProjectileBehaviour implements the behaviour of projectiles. Its specifics may be configured using ProjectileBehaviourConfig.
func (*ProjectileBehaviour) Critical ¶ added in v0.9.0
func (lt *ProjectileBehaviour) Critical(e *Ent) bool
Critical returns true if ProjectileBehaviourConfig.Critical was set to true and if the projectile has not collided.
func (*ProjectileBehaviour) Explode ¶ added in v0.9.0
func (lt *ProjectileBehaviour) Explode(e *Ent, src mgl64.Vec3, impact float64, _ block.ExplosionConfig)
Explode adds velocity to a projectile to blast it away from the explosion's source.
func (*ProjectileBehaviour) Potion ¶ added in v0.9.0
func (lt *ProjectileBehaviour) Potion() potion.Potion
Potion returns the potion.Potion that is applied to an entity if hit by the projectile.
func (*ProjectileBehaviour) Tick ¶ added in v0.9.0
func (lt *ProjectileBehaviour) Tick(e *Ent) *Movement
Tick runs the tick-based behaviour of a ProjectileBehaviour and returns the Movement within the tick. Tick handles the movement, collision and hitting of a projectile.
type ProjectileBehaviourConfig ¶ added in v0.9.0
type ProjectileBehaviourConfig struct { // Gravity is the amount of Y velocity subtracted every tick. Gravity float64 // Drag is used to reduce all axes of the velocity every tick. Velocity is // multiplied with (1-Drag) every tick. Drag float64 // Damage specifies the base damage dealt by the Projectile. If set to a // negative number, entities hit are not hurt at all and are not knocked // back. The base damage is multiplied with the velocity of the projectile // to calculate the final damage of the projectile. Damage float64 // Potion is the potion effect that is applied to an entity when the // projectile hits it. Potion potion.Potion // KnockBackAddend is the additional velocity that is applied to an entity // when it is hit by the projectile. KnockBackAddend float64 // Particle is a particle that is spawned when the projectile hits a // target, either a block or an entity. No particle is spawned if left nil. Particle world.Particle // ParticleCount is the amount of particles that should be spawned if // Particle is not nil. ParticleCount will be set to 1 if Particle is not // nil and ParticleCount is 0. ParticleCount int // Sound is a sound that is played when the projectile hits a target, either // a block or an entity. No sound is played if left nil. Sound world.Sound // Critical specifies if the projectile is critical. This spawns critical // hit particles behind the projectile and causes it to deal up to 50% more // damage. Critical bool // Hit is a function that is called when the projectile Ent hits a target // (the trace.Result). The target is either of the type trace.EntityResult // or trace.BlockResult. Hit may be set to run additional behaviour when a // projectile hits a target. Hit func(e *Ent, target trace.Result) // SurviveBlockCollision specifies if a projectile with this // ProjectileBehaviour should survive collision with a block. If set to // false, the projectile will break when hitting a block (like a snowball). // If set to true, the projectile will survive like an arrow does. SurviveBlockCollision bool // BlockCollisionVelocityMultiplier is the multiplier used to modify the // velocity of a projectile that has SurviveBlockCollision set to true. The // default, 0, will cause the projectile to lose its velocity completely. A // multiplier such as 0.5 will reduce the projectile's velocity, but retain // half of it after inverting the axis on which the projectile collided. BlockCollisionVelocityMultiplier float64 // DisablePickup specifies if picking up the projectile should be disabled, // which is relevant in the case SurviveBlockCollision is set to true. Some // projectiles, such as arrows, cannot be picked up if they are shot by // monsters like skeletons. DisablePickup bool // PickupItem is the item that is given to a player when it picks up this // projectile. If left as an empty item.Stack, no item is given upon pickup. PickupItem item.Stack }
ProjectileBehaviourConfig allows the configuration of projectiles. Calling ProjectileBehaviourConfig.New() creates a ProjectileBehaviour using these settings.
func (ProjectileBehaviourConfig) New ¶ added in v0.9.0
func (conf ProjectileBehaviourConfig) New(owner world.Entity) *ProjectileBehaviour
New creates a new ProjectileBehaviour using conf. The owner passed may be nil if the projectile does not have one.
type ProjectileDamageSource ¶ added in v0.8.6
type ProjectileDamageSource struct {
// Projectile and Owner are the world.Entity that dealt the damage and
// the one that fired the projectile respectively.
Projectile, Owner world.Entity
}
ProjectileDamageSource is used for damage caused by a projectile.
func (ProjectileDamageSource) AffectedByEnchantment ¶ added in v0.8.6
func (ProjectileDamageSource) AffectedByEnchantment(e item.EnchantmentType) bool
func (ProjectileDamageSource) Fire ¶ added in v0.8.6
func (ProjectileDamageSource) Fire() bool
func (ProjectileDamageSource) ReducedByArmour ¶ added in v0.8.6
func (ProjectileDamageSource) ReducedByArmour() bool
func (ProjectileDamageSource) ReducedByResistance ¶ added in v0.8.6
func (ProjectileDamageSource) ReducedByResistance() bool
type SnowballType ¶ added in v0.8.7
type SnowballType struct{}
SnowballType is a world.EntityType implementation for snowballs.
func (SnowballType) DecodeNBT ¶ added in v0.8.7
func (SnowballType) DecodeNBT(m map[string]any) world.Entity
func (SnowballType) EncodeEntity ¶ added in v0.8.7
func (SnowballType) EncodeEntity() string
type Solidifiable ¶
type Solidifiable interface { // Solidifies returns whether the falling block can solidify at the position it is currently in. If so, // the block will immediately stop falling. Solidifies(pos cube.Pos, w *world.World) bool }
Solidifiable represents a block that can solidify by specific adjacent blocks. An example is concrete powder, which can turn into concrete by touching water.
type SplashPotionType ¶ added in v0.8.7
type SplashPotionType struct{}
SplashPotionType is a world.EntityType implementation for SplashPotion.
func (SplashPotionType) DecodeNBT ¶ added in v0.8.7
func (SplashPotionType) DecodeNBT(m map[string]any) world.Entity
func (SplashPotionType) EncodeEntity ¶ added in v0.8.7
func (SplashPotionType) EncodeEntity() string
func (SplashPotionType) EncodeNBT ¶ added in v0.8.7
func (SplashPotionType) EncodeNBT(e world.Entity) map[string]any
func (SplashPotionType) Glint ¶ added in v0.9.0
func (SplashPotionType) Glint() bool
type SuffocationDamageSource ¶ added in v0.8.6
type SuffocationDamageSource struct{}
SuffocationDamageSource is used for damage caused by an entity suffocating in a block.
func (SuffocationDamageSource) Fire ¶ added in v0.8.6
func (SuffocationDamageSource) Fire() bool
func (SuffocationDamageSource) ReducedByArmour ¶ added in v0.8.6
func (SuffocationDamageSource) ReducedByArmour() bool
func (SuffocationDamageSource) ReducedByResistance ¶ added in v0.8.6
func (SuffocationDamageSource) ReducedByResistance() bool
type SwingArmAction ¶ added in v0.6.0
type SwingArmAction struct {
// contains filtered or unexported fields
}
SwingArmAction is a world.EntityAction that makes an entity or player swing its arm.
func (SwingArmAction) EntityAction ¶ added in v0.6.0
func (SwingArmAction) EntityAction()
type TNT ¶ added in v0.8.0
type TNT struct {
// contains filtered or unexported fields
}
TNT represents a primed TNT entity.
func (*TNT) Close ¶ added in v0.8.0
func (t *TNT) Close() error
Close closes the transform and removes the associated entity from the world.
func (*TNT) SetVelocity ¶ added in v0.8.0
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
type TNTType ¶ added in v0.8.7
type TNTType struct{}
TNTType is a world.EntityType implementation for TNT.
func (TNTType) EncodeEntity ¶ added in v0.8.7
func (TNTType) NetworkOffset ¶ added in v0.9.0
type Text ¶ added in v0.2.0
type Text struct {
// contains filtered or unexported fields
}
Text is an entity that only displays floating text. The entity is otherwise invisible and cannot be moved.
func NewText ¶ added in v0.2.0
NewText creates and returns a new Text entity with the text and position provided.
func (*Text) Close ¶ added in v0.2.0
func (t *Text) Close() error
Close closes the transform and removes the associated entity from the world.
func (*Text) NameTag ¶ added in v0.2.0
NameTag returns the designated text of the entity. It is an alias for the Text function.
func (*Text) SetVelocity ¶ added in v0.2.0
SetVelocity sets the velocity of the entity. The values in the Vec3 passed represent the speed on that axis in blocks/tick.
type TextType ¶ added in v0.8.7
type TextType struct{}
TextType is a world.EntityType implementation for Text.
func (TextType) EncodeEntity ¶ added in v0.8.7
func (TextType) NetworkEncodeEntity ¶ added in v0.8.7
type VoidDamageSource ¶ added in v0.8.6
type VoidDamageSource struct{}
VoidDamageSource is used for damage caused by an entity being in the void.
func (VoidDamageSource) Fire ¶ added in v0.8.6
func (VoidDamageSource) Fire() bool
func (VoidDamageSource) ReducedByArmour ¶ added in v0.8.6
func (VoidDamageSource) ReducedByArmour() bool
func (VoidDamageSource) ReducedByResistance ¶ added in v0.8.6
func (VoidDamageSource) ReducedByResistance() bool
Source Files ¶
- action.go
- area_effect_cloud.go
- arrow.go
- bottle_of_enchanting.go
- damage.go
- direction.go
- effect.go
- egg.go
- ender_pearl.go
- ent.go
- experience.go
- experience_orb.go
- falling_block.go
- firework.go
- flammable.go
- healing.go
- health.go
- item.go
- lightning.go
- lingering_potion.go
- living.go
- movement.go
- projectile.go
- register.go
- snowball.go
- splash_potion.go
- splashable.go
- text.go
- tnt.go
- transform.go