Skip to main content

Shroom Skin

Based on game build 714014 | Last updated: 2026-03-07

Overview​

shroom_skin is a prefab that defines a stackable, inventory-held item with animation, sound, and floatable physics capabilities. It is intended for use as a launchable item in the game. The prefab is created via CreateEntity() and configured with core visual and network components. On the master simulation, it gains inspectable and inventoryitem functionality, along with stackable behavior (maxsize = TUNING.STACK_SIZE_LARGEITEM) and hauntable launch properties via MakeHauntableLaunch.

Usage example​

local inst = CreateEntity()
inst:AddComponent("inspectable")
inst:AddComponent("inventoryitem")
inst:AddComponent("stackable")
inst.components.stackable.maxsize = TUNING.STACK_SIZE_LARGEITEM
inst.AnimState:SetBank("shroom_skin")
inst.AnimState:SetBuild("shroom_skin")
inst.AnimState:PlayAnimation("idle")
MakeInventoryPhysics(inst)
MakeInventoryFloatable(inst, "large", nil, 0.6)

Dependencies & tags​

Components used: stackable, inspectable, inventoryitem
Tags: None identified.

Properties​

PropertyTypeDefault ValueDescription
maxsizenumberTUNING.STACK_SIZE_LARGEITEMMaximum stack size for this item.

Main functions​

This prefab does not define custom methods beyond standard component functionality. Its behavior is driven by:

  • MakeInventoryPhysics(inst) — sets up collision, weight, and pick-up physics.
  • MakeInventoryFloatable(inst, "large", nil, 0.6) — configures floating behavior when wet.
  • MakeHauntableLaunch(inst) — enables the item to be thrown/launched during hauntable events.

Events & listeners​

  • Listens to: None identified.
  • Pushes: None identified.