Skip to content

Item proxy (self.item)

Bound on script tables as self.item. Only these members are available; unknown names are rejected.

Source: Utils/Lua/LuaItemApi.cs.

Properties

Name Type / signature Notes
Attacking Boolean Attacking Melee swing state. Non-melee items read false.
CollisionsEnabled Boolean CollisionsEnabled Whether the item's collisions are active. Melee and ranged items both honor this.
CurClipSize int CurClipSize
CurGlobalCenter Vector2 CurGlobalCenter
DamageModifier float DamageModifier
DefaultAttackSpeedModifier float DefaultAttackSpeedModifier
EnergyDrainPerSecond float EnergyDrainPerSecond
FinishSwingOnCollide Boolean FinishSwingOnCollide
HidesBackArm Boolean HidesBackArm
HitsDeposits Boolean HitsDeposits
HUDAmmoDisplayOverrideString String HUDAmmoDisplayOverrideString
IgnoreGroundCollisions Boolean IgnoreGroundCollisions
IsDead Boolean IsDead
MaxClipSize int MaxClipSize
Owner object Owner Allowlisted view of the entity that currently owns this item (usually the equipped player). Never a raw production object.
PickPower int PickPower
PreventMovement Boolean PreventMovement
Rotation float Rotation
UseClientSideInputLogic Boolean UseClientSideInputLogic
UsingCombatWalk Boolean UsingCombatWalk
UsingForcedWalk Boolean UsingForcedWalk
Velocity Vector2 Velocity
Width int Width
X float X
Y float Y

Methods

Signature Notes
void AddBoneTextureOverride(String boneName, String textureName)
void AddMotionBlurTextureOverride(String boneName, String textureName)
void AdjustPlayerEnergy(float adjustmentAmount)
void ApplyLocationalStatusEffectToCreature(object creature, String statusEffectTypeString, float duration, float intensity, Vector2 hitLocation, Boolean stacks = false)
void ApplyStatusEffectToCreature(object creature, String statusEffectTypeString, float duration, float intensity, Boolean stacks = false)
void CleanUpSFXInstance(object instance)
void ClearBoneTextureOverrides()
void ClearLastGlobalCollisionPoints() Clears recorded melee collision points from the last swing.
void ClearMotionBlurTextureOverrides()
void DamageTile(int tileX, int tileY, int pickPower)
void DealDamage(object target, float piercePercent)
void DealDamage(object target, Vector2 position, float damage, float piercePercent)
void DisableCollisions()
void DisableTaggedMeleeCollisionPoint(String tag)
void DisturbNearbyChickens()
void EnableCollisions()
void EnableTaggedMeleeCollisionPoint(String tag)
void EndLoopingSound(String label)
void FireItem(InventoryItemType itemType, float speed, String emitBoneName, float emitBoneOffsetX, float emitBoneOffsetY, float spreadRadian = 0, float angleOffset = 0)
void FireItem(String uniqueItemTypeID, float speed, String emitBoneName, float emitBoneOffsetX, float emitBoneOffsetY, float spreadRadian = 0, float angleOffset = 0)
void FireProjectile(int projectileTypeID, float speed, float emitX, float emitY, float velX, float velY, float accuracyModifier = 1)
void FireProjectile(int projectileTypeID, float speed, String emitBoneName, float emitBoneOffsetX, float emitBoneOffsetY, float accuracyModifier = 1)
void FireProjectile(String uniqueProjectileTypeString, float speed, float emitX, float emitY, float velX, float velY, float accuracyModifier = 1)
void FireProjectile(String uniqueProjectileTypeString, float speed, String emitBoneName, float emitBoneOffsetX, float emitBoneOffsetY, float accuracyModifier = 1)
void FireSpell(Vector2 emitPosition, Vector2 emitDirectionVector, String spellTypeString, Boolean canHitOwner = false)
InventoryItemType GetCurAmmoType()
String GetCurrentAnimationName()
LuaPlayerApi GetEquippedPlayer()
Vector2 GetGlobalBonePosition(String boneName, int textureOffsetX = 0, int textureOffsetY = 0)
int GetNewParticleInstanceID()
float GetPlayerEnergy()
LuaMeleeCollisionPointView GetRandomGlobalCollisionPoint()
String GetTransitionAnimationName()
Boolean HasTag(String tag)
Boolean IsCollisionsEnabled()
Boolean IsCurAmmoValid()
Boolean IsEnoughEnergyPerSecond(GameTime gameTime, float ratePerSecond)
Boolean IsPowered()
Boolean IsSoundPlaying(object instance)
Boolean IsTransitioning()
void LoadSoundEffect(String label, String path)
void MuzzleFlash(String emitBoneName, float emitBoneOffsetX, float emitBoneOffsetY, float spreadRadian = .5f, float scaleX = .5f, float scaleY = .5f)
Boolean PauseSound(object instance)
void PerformActionNetworked(int actionIndex)
void PlayAnimation(String animationName, float speed)
void PlayHitSpriteFX(Vector2 hitPosition)
LuaSoundEffectHandle PlayLoopingSoundEffect(String label, float volume = 1, float pitch = 0)
void PlayParticleEffectOnce(String particleEffectPath, Vector2 emitPosition)
void PlayParticleEffectPersistent(String particleEffectPath, int particleInstanceID, float emitX, float emitY)
void PlayParticleEffectPersistent(String particleEffectPath, int particleInstanceID, Vector2 emitPosition)
LuaSoundEffectHandle PlaySoundEffect(String label, float volume = 1, float pitch = 0)
void ProjectTrajectory(String emitBoneName, float emitBoneOffsetX, float emitBoneOffsetY, float speed)
void ProjectTrajectory(String emitBoneName, float emitBoneOffsetX, float emitBoneOffsetY, float speed, Rectangle bounds)
void RemoveQuantity(int amount)
Boolean ResumeSound(object instance)
void SetAnimationSpeed(float speed, String animationName = null)
void SetBoneOverlayTexture(String boneName, String textureName, float alpha)
void StartNamedAnimation(String animationName) Starts a named hold animation on this item.
Boolean StopSound(object instance)
void TransitionToAnimation(String animationName, float transitionTime, float playSpeed = 1)
void TriggerContinuousPFX(String key, String emitBoneName, float emitOffsetX, float emitOffsetY, float rotation = 0)
void TriggerLoopingSound(String label, float baseVolume = 1)
void TriggerOneShotPFX(String key, String emitBoneName, float emitOffsetX, float emitOffsetY, float rotation = 0)
void TriggerOneShotPFX(String key, Vector2 emitPoint, float rotation = 0)
void TryEquipAmmo()
void UpdateSFXPosition(object instance, float baseVolume)

Generated 2026-08-14T18:38:10.4882241Z · b67bc26a · 91 members.

Official modding overview · Signs of Life on Steam