Boat Rotator
Based on game build 714004 | Last updated: 2026-03-04
Overview
The boat_rotator prefab implements a rotateable steering wheel structure used to control the direction of the player's boat. It is added as a component to the entity and integrates with the workable, burnable, lootdropper, and Inspectable components. The component handles construction (onbuilt), hammering (on_hammered), ignition (onignite), and burning (onburnt) events, and properly saves and loads state across sessions.
Usage example
local inst = SpawnPrefab("boat_rotator")
inst.Transform:SetPosition(x, y, z)
inst:PushEvent("onbuilt")
Dependencies & tags
Components used: boatrotator, lootdropper, workable, burnable, inspectable, propagator, hauntable, soundemitter, animstate, transform, network
Tags: Adds structure to the entity; checks burnt and structure.
Properties
No public properties.
Main functions
This component does not expose standalone functions beyond event callbacks used internally. All logic resides in the prefab factory function (fn) and associated event handlers.
Event handlers
The following callbacks are registered during construction and used internally:
on_hammered(inst, hammerer)
- Description: Called when the structure is fully hammered. Destroys the entity, spawns a
collapse_smallFX, and drops loot vialootdropper. - Parameters:
inst(entity) — the Boat Rotator instance;hammerer(entity or nil) — the player who hammered it. - Returns: Nothing.
onignite(inst)
- Description: Called when the structure catches fire. Delegates to
DefaultBurnFnto start the burn sequence. - Parameters:
inst(entity) — the Boat Rotator instance. - Returns: Nothing.
onburnt(inst)
- Description: Called when the structure finishes burning. Invokes
DefaultBurntStructureFnto finalize burning state, then removes theboatrotatorcomponent. - Parameters:
inst(entity) — the Boat Rotator instance. - Returns: Nothing.
onbuilt(inst)
- Description: Called when the structure is placed by a player. Plays a sound and sets the animation state to
"place". - Parameters:
inst(entity) — the Boat Rotator instance. - Returns: Nothing.
onsave(inst, data)
- Description: Saves whether the structure is currently burning or burnt into the save data.
- Parameters:
inst(entity);data(table) — the save data table. - Returns: Nothing.
onload(inst, data)
- Description: Restores burning state on load. If saved as burnt, directly calls
onburntcallback. - Parameters:
inst(entity);data(table or nil) — the loaded save data. - Returns: Nothing.
Events & listeners
- Listens to:
onbuilt— triggersonbuiltcallback to play sound and set animation. - Pushes: None directly. Relies on underlying components (
burnable,workable,lootdropper) to emit their own events as needed. - Persisted state events:
OnSave,OnLoad— attached to the entity for serialization/deserialization.