Skip to content

Item proxy (self.item)

Bound on script tables as self.item. Only these public members are reachable; unknown names fail closed.

Source: Signs of Life/Utils/Lua/LuaItemApi.cs.

Properties

Name Type / signature Notes
Attacking Boolean Attacking Melee swing state. Only (and its Lua-facing LoadedMeleeWeapon subclass) defines this field; other item kinds read false.
CollisionsEnabled Boolean CollisionsEnabled Melee weapons store this as a plain field; ranged s use the Enable/Disable/IsCollisionsEnabled trio instead. Prefer the field when present so melee scripts keep their current read/write semantics.
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 Kept loosely typed (rather than ) so Lua and other proxies can pass it through without an intermediate unwrap; see LuaWorldHost.UnwrapDynamic.
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(SoundEffectInstance instance)
void ClearBoneTextureOverrides()
void ClearLastGlobalCollisionPoints() Matches the existing self.item.LastGlobalCollisionPoints:Clear() Lua idiom (see Content/Lua/MeleeWeapon.lua) without exposing the backing list.
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()
MeleeCollisionPoint GetRandomGlobalCollisionPoint()
String GetTransitionAnimationName()
Boolean HasTag(String tag)
Boolean IsCollisionsEnabled()
Boolean IsCurAmmoValid()
Boolean IsEnoughEnergyPerSecond(GameTime gameTime, float ratePerSecond)
Boolean IsPowered()
Boolean IsSoundPlaying(SoundEffectInstance 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)
void PerformActionNetworked(int actionIndex)
void PlayAnimation(String animationName, float speed)
void PlayHitSpriteFX(Vector2 hitPosition)
SoundEffectInstance 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)
SoundEffectInstance 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(SoundEffectInstance instance)
void SetAnimationSpeed(float speed, String animationName = null)
void SetBoneOverlayTexture(String boneName, String textureName, float alpha)
void StartNamedAnimation(String animationName) Starts an animation directly on the hold animation player, matching the existing self.item._holdAnimationPlayer:StartAnimation(name) Lua idiom without exposing the animation player itself.
Boolean StopSound(SoundEffectInstance 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(SoundEffectInstance instance, float baseVolume)

Generated 2026-08-02T05:22:21.4279488Z · a7346a83 · 90 members.