48 KiB
Wired Full Reference
1. Scope
This document is a code-based reference for the current wired runtime in Arcturus-Morningstar-Extended.
It covers:
- general wired engine rules
- tick and delay rules
- protection and monitor rules
- custom variable rules
- every registered wired trigger, effect, selector, condition, extra, and variable definition
Primary runtime sources used for this reference:
Emulator/src/main/java/com/eu/habbo/habbohotel/items/ItemManager.javaEmulator/src/main/java/com/eu/habbo/habbohotel/wired/core/WiredManager.javaEmulator/src/main/java/com/eu/habbo/habbohotel/wired/core/WiredEngine.javaEmulator/src/main/java/com/eu/habbo/habbohotel/wired/tick/WiredTickService.javaEmulator/src/main/java/com/eu/habbo/habbohotel/wired/WiredHandler.java
This file is meant to describe the runtime behavior and configuration surface, not the Nitro UI layout in detail. For :wired monitor and inspection tooling, also see Arcturus-Morningstar-Extended/docs/wired_tools_reference.md.
2. Wired Engine, Tick, and General Runtime Rules
2.1 Main runtime architecture
The modern wired runtime is centered around these components:
WiredManager- initializes the wired runtime
- loads config
- owns the centralized engine and stack index
- exposes high-level trigger methods such as user click, walk on, say, signal, game events, and so on
WiredEngine- receives
WiredEventobjects - finds candidate stacks through the room stack index
- evaluates selectors, conditions, extras, and effects
- enforces abuse protection, delayed queue limits, recursion limits, and diagnostics
- receives
RoomWiredStackIndex- caches stack membership so the engine can quickly find candidate stacks for a given event type
WiredTickService- runs a single global tick loop
- keeps repeaters and other tickables synchronized across rooms
WiredHandler- legacy compatibility path that still exists in the codebase
- still useful to understand older stack execution logic and some compatibility behavior
2.2 Current execution model
At a high level, the engine processes a stack like this:
- receive an event
- find candidate stacks for the event type
- check whether the trigger matches
- build a
WiredContext - run selectors first, so the target set is available
- apply selection-filter extras if present
- evaluate conditions
- apply stack-level gates such as execution limit
- activate the trigger and extras
- execute or schedule effects
Important consequences of this model:
- selectors run before conditions in the new engine
- conditions can inspect the selected targets or even the whole stack
- effects may run immediately or with delay
- extras can modify selection, condition evaluation, effect ordering, and effect subset choice
2.3 Tick rules
The centralized tick service is defined in WiredTickService.
Current core rules:
- default global tick interval:
50ms - hard allowed range:
10msto500ms - repeaters and other tickables use a shared global tick counter
- tickables are registered per room
- when a room is unloaded, tickables should be unregistered
This means:
- repeaters are synchronized with each other
- two repeaters with the same timing do not drift independently per room
- unload/cleanup behavior matters for room-scoped temporary state
2.4 Delay rules
The classic wired delay value is stored in half-second steps.
Runtime rule:
effective delay in milliseconds = delay * 500
Examples:
- delay
0= immediate execution - delay
1=500ms - delay
2=1000ms
This rule is used both by the legacy path and by the new engine.
2.5 Stack ordering rules
There are several separate notions of order:
- stack candidate order
- candidate stacks are found through the index for the specific event type
- item ordering inside one tile stack
WiredExecutionOrderUtilsorts by:z- then
item id
- effect subset modifiers
wf_xtra_randomcan choose only part of the effectswf_xtra_unseencan rotate through effects without repeats
- ordered execution
wf_xtra_exec_in_orderis the explicit “run in stable stack order” modifier
Practical takeaway:
- if there is no order modifier, execution may depend on the collection/order produced by the runtime path
- if exact order matters,
wf_xtra_exec_in_orderis the intended box to use
2.6 Selection rules
Selectors build or refine the WiredTargets inside WiredContext.
In practice:
- target users and target furni are built before conditions are checked
- later effects consume those selected targets
- some selectors are pure “build a selection” tools
- some extras then trim, sort, or invert that selection
2.7 Condition rules
Conditions are evaluated after selectors.
General behavior:
- if there are no conditions, the stack can continue directly to effects
- if there are conditions, all configured condition logic must pass according to the current evaluation mode
wf_xtra_or_evalchanges how the condition results are aggregated
The runtime supports both:
- ordinary condition matching
- grouped OR semantics through condition operators and the OR-eval extra
2.8 Protection rules
The wired runtime has multiple safety layers:
- maximum steps per stack
- recursion depth protection
- per-room event rate limiting
- room temporary wired ban after abuse
- delayed queue cap
- execution budget / usage cap per room window
Main defaults from runtime/config:
wired.engine.maxStepsPerStack = 100wired.abuse.max.recursion.depth = 10wired.abuse.max.events.per.window = 100wired.abuse.rate.limit.window.ms = 10000wired.abuse.ban.duration.ms = 600000wired.monitor.usage.window.ms = 1000wired.monitor.usage.limit = 1000wired.monitor.delayed.events.limit = 100
2.9 Monitor and diagnostics rules
The new engine tracks room diagnostics through WiredRoomDiagnostics.
This is where :wired monitor gets values such as:
- usage in current window
- delayed events count
- average execution time
- peak execution time
- recursion state
- heavy room status
- overload windows
Heavy/overload decisions are based on rolling windows, not on a single event.
2.10 Legacy compatibility notes
The project still contains WiredHandler.
Important practical notes:
WiredManageris the intended modern entrypointwired.engine.enabledandwired.engine.exclusiveare treated as compatibility-only flags byWiredManagerWiredHandlerstill exists and is useful for compatibility and for understanding legacy behavior
So when documenting stacks, it is best to think in terms of:
- modern runtime:
WiredManager+WiredEngine - legacy compatibility surface:
WiredHandler
2.11 Custom variable rules
Custom wired variables are defined by:
wf_var_userwf_var_furniwf_var_room
Shared rules:
- variable names must be unique across the whole room, even across different variable types
- allowed name length:
1..40 - allowed characters: letters, numbers,
_
Availability rules:
wf_var_user- room-scoped while the user is in the room
- or permanent
wf_var_furni- room-active while the room is active/loaded
- or permanent
wf_var_room- room-active
- or permanent
Timestamp rules:
- user variables: creation/update are tied to the assignment on that user
- furni variables: creation/update are tied to the assignment on that furni
- room variables: practically meaningful timestamp is mainly the last update time
Current context-status note:
contextappears in several variable-related layouts- it is still partial / placeholder in several runtime paths
user,furni, androom/globalare the truly active targets today
2.12 Useful global config keys
| Key | Meaning |
|---|---|
wired.engine.enabled |
Compatibility-only legacy flag |
wired.engine.exclusive |
Compatibility-only legacy flag |
wired.engine.maxStepsPerStack |
Loop/step protection limit |
wired.engine.debug |
Verbose engine logging |
wired.custom.enabled |
Legacy custom wired compatibility behavior |
hotel.wired.furni.selection.count |
Max furni selection size stored by wired boxes |
hotel.wired.max_delay |
Max accepted delay value |
hotel.wired.message.max_length |
Max wired/bot text size |
wired.effect.teleport.delay |
Teleport effect delay |
wired.tick.interval.ms |
Global tick loop interval |
wired.tick.debug |
Tick debug logging |
wired.tick.thread.priority |
Tick thread priority |
wired.abuse.max.recursion.depth |
Recursion protection |
wired.abuse.max.events.per.window |
Event spam protection |
wired.abuse.rate.limit.window.ms |
Abuse window size |
wired.abuse.ban.duration.ms |
Temporary room wired-ban duration |
wired.monitor.usage.window.ms |
Usage monitor window size |
wired.monitor.usage.limit |
Execution budget per window |
wired.monitor.delayed.events.limit |
Delayed queue ceiling |
wired.monitor.overload.average.ms |
Overload average threshold |
wired.monitor.overload.peak.ms |
Overload peak threshold |
wired.monitor.heavy.usage.percent |
Heavy-room usage threshold |
wired.highscores.displaycount |
Wired highscore rows shown to users |
3. Triggers
wf_trg_walks_on_furni
- Class:
WiredTriggerHabboWalkOnFurni - Behavior: fires when a user walks onto the selected furni/tile stack.
- Main settings: selected furni, standard trigger cooldown.
- Notes: commonly used as the first event in movement or pressure-style stacks.
wf_trg_walks_off_furni
- Class:
WiredTriggerHabboWalkOffFurni - Behavior: fires when a user leaves the selected furni/tile stack.
- Main settings: selected furni, standard trigger cooldown.
- Notes: useful for exit logic, cleanup logic, and delayed “leave area” patterns.
wf_trg_click_furni
- Class:
WiredTriggerHabboClicksFurni - Behavior: fires when a user clicks a furni.
- Main settings: selected furni.
- Notes: click-based stacks often combine this with selectors or trigger-user conditions.
wf_trg_click_tile
- Class:
WiredTriggerHabboClicksTile - Behavior: fires when a user clicks a tile.
- Main settings: selected click-tile furni / trigger area depending on setup.
- Notes: often used for invisible tile-style interactions.
wf_trg_click_user
- Class:
WiredTriggerHabboClicksUser - Behavior: fires when one avatar clicks another avatar.
- Main settings: runtime flags such as menu blocking and rotation behavior.
- Notes: the event carries both the clicking user and the clicked user.
wf_trg_user_performs_action
- Class:
WiredTriggerHabboPerformsAction - Behavior: fires when a user performs a configured avatar action.
- Main settings: action id and action parameter.
- Notes: pairs naturally with the matching positive/negative action conditions.
wf_trg_enter_room
- Class:
WiredTriggerHabboEntersRoom - Behavior: fires when a user enters the room.
- Main settings: none beyond default cooldown.
- Notes: common for welcome logic, spawn logic, variable assignment, and snapshot restore.
wf_trg_leave_room
- Class:
WiredTriggerHabboLeavesRoom - Behavior: fires when a user leaves the room.
- Main settings: none beyond default cooldown.
- Notes: common for cleanup and last-known-state stacks.
wf_trg_says_something
- Class:
WiredTriggerHabboSaysKeyword - Behavior: fires when a user says the configured text/keyword.
- Main settings: text/keyword, message hiding mode.
- Notes: can optionally suppress the visible chat output when configured to hide the message.
wf_trg_clock_counter
- Class:
WiredTriggerClockCounter - Behavior: fires when a selected counter reaches its configured match point.
- Main settings: target counter(s), counter matching behavior.
- Notes: often combined with
wf_act_control_clockandwf_act_adjust_clock.
wf_trg_periodically
- Class:
WiredTriggerRepeater - Behavior: fires on a repeating interval.
- Main settings: repeat interval.
- Notes: synchronized through the global tick service.
wf_trg_period_short
- Class:
WiredTriggerRepeaterShort - Behavior: faster repeating trigger with short cadence.
- Main settings: short repeater timing.
- Notes: aligned to the global
50mstick service.
wf_trg_period_long
- Class:
WiredTriggerRepeaterLong - Behavior: repeating trigger with longer cadence.
- Main settings: long repeater timing.
- Notes: intended for lower-frequency repeating behavior.
wf_trg_state_changed
- Class:
WiredTriggerFurniStateToggled - Behavior: fires when the state of the selected furni changes.
- Main settings: selected furni.
- Notes: runtime is shared with
wf_trg_stuff_state.
wf_trg_stuff_state
- Class:
WiredTriggerFurniStateToggled - Behavior: same runtime behavior as
wf_trg_state_changed. - Main settings: selected furni.
- Notes: kept as a second key/alias for compatibility/content mapping.
wf_trg_at_given_time
- Class:
WiredTriggerAtSetTime - Behavior: fires once after the configured time target is reached.
- Main settings: time value.
- Notes: behaves like a one-shot timer rather than a repeater.
wf_trg_at_time_long
- Class:
WiredTriggerAtTimeLong - Behavior: long-duration variant of the set-time trigger.
- Main settings: time value.
- Notes: used when the short version is not sufficient for the desired range.
wf_trg_collision
- Class:
WiredTriggerCollision - Behavior: fires when the configured collision case is detected.
- Main settings: collision participants / collision mode.
- Notes: can easily produce loops when combined with chase/flee unless protections are configured.
wf_trg_game_starts
- Class:
WiredTriggerGameStarts - Behavior: fires when the room game starts.
- Main settings: none beyond default cooldown.
- Notes: useful for score resets, timers, and spawn setup.
wf_trg_game_ends
- Class:
WiredTriggerGameEnds - Behavior: fires when the room game ends.
- Main settings: none beyond default cooldown.
- Notes: useful for rewards, cleanup, and reset logic.
wf_trg_bot_reached_stf
- Class:
WiredTriggerBotReachedFurni - Behavior: fires when a bot reaches the selected furni.
- Main settings: bot path target furni.
- Notes: typically paired with bot movement effects.
wf_trg_bot_reached_avtr
- Class:
WiredTriggerBotReachedHabbo - Behavior: fires when a bot reaches an avatar.
- Main settings: target avatar/source mode.
- Notes: useful for escort, interaction, or story-style flows.
wf_trg_score_achieved
- Class:
WiredTriggerScoreAchieved - Behavior: fires when the configured score threshold is reached.
- Main settings: score threshold.
- Notes: usually tied to game or team score flows.
wf_trg_game_team_win
- Class:
WiredTriggerTeamWins - Behavior: fires when a team wins the current room game.
- Main settings: target team.
- Notes: can be used for reward or celebration logic.
wf_trg_game_team_lose
- Class:
WiredTriggerTeamLoses - Behavior: fires when a team loses the current room game.
- Main settings: target team.
- Notes: often paired with reset or consolation logic.
wf_trg_recv_signal
- Class:
WiredTriggerReceiveSignal - Behavior: fires when a matching signal is received from
wf_act_send_signal. - Main settings: selected antenna(s), signal/channel matching.
- Notes: can receive user/furni payload carried by the signal event.
4. Effects
wf_act_toggle_state
- Class:
WiredEffectToggleFurni - Behavior: toggles the state of the selected furni.
- Main settings: selected furni, effect delay.
- Notes: one of the most common state-manipulation effects.
wf_act_reset_timers
- Class:
WiredEffectResetTimers - Behavior: resets compatible timer/repeater-style boxes.
- Main settings: selected timer/counter/repeater items.
- Notes: used to restart timing flows cleanly.
wf_act_match_to_sshot
- Class:
WiredEffectMatchFurni - Behavior: restores furni to a saved snapshot of state/position/rotation settings.
- Main settings: selected furni, snapshot match mode/settings.
- Notes: usually paired with move/rotate or state-change effects.
wf_act_move_rotate
- Class:
WiredEffectMoveRotateFurni - Behavior: moves and/or rotates furni according to the configured pattern.
- Main settings: selected furni, movement direction, rotation behavior, effect delay.
- Notes: obeys move physics extras when present.
wf_act_give_score
- Class:
WiredEffectGiveScore - Behavior: gives score to the target user/player.
- Main settings: score amount.
- Notes: room/game scoring effect.
wf_act_show_message
- Class:
WiredEffectWhisper - Behavior: sends the configured message text.
- Main settings: message text, effect delay.
- Notes: text length is limited by wired message config.
wf_act_teleport_to
- Class:
WiredEffectTeleport - Behavior: teleports the target user to the configured destination.
- Main settings: target furni/tile, effect delay.
- Notes: also respects
wired.effect.teleport.delay.
wf_act_join_team
- Class:
WiredEffectJoinTeam - Behavior: moves the target user into the selected team.
- Main settings: team id/color.
- Notes: game-specific utility effect.
wf_act_leave_team
- Class:
WiredEffectLeaveTeam - Behavior: removes the target user from their team.
- Main settings: effect delay.
- Notes: typically used in game cleanup.
wf_act_chase
- Class:
WiredEffectMoveFurniTowards - Behavior: moves furni toward the configured target.
- Main settings: selected furni, target source, movement distance/direction rules.
- Notes: can interact strongly with collision and movement validation.
wf_act_flee
- Class:
WiredEffectMoveFurniAway - Behavior: moves furni away from the configured target.
- Main settings: selected furni, target source, movement rules.
- Notes: often paired with collision or proximity triggers.
wf_act_move_to_dir
- Class:
WiredEffectChangeFurniDirection - Behavior: changes furni direction/rotation.
- Main settings: selected furni, new direction or direction mode.
- Notes: pure direction-change effect without full movement pathing.
wf_act_give_score_tm
- Class:
WiredEffectGiveScoreToTeam - Behavior: gives score directly to a team.
- Main settings: team id and score amount.
- Notes: separate from single-user score.
wf_act_toggle_to_rnd
- Class:
WiredEffectToggleRandom - Behavior: toggles a random compatible furni among the selected set.
- Main settings: selected furni.
- Notes: randomness is per execution.
wf_act_move_furni_to
- Class:
WiredEffectMoveFurniTo - Behavior: moves furni to a configured target position.
- Main settings: selected furni, destination tile/furni, effect delay.
- Notes: works with movement physics and animation extras.
wf_act_give_reward
- Class:
WiredEffectGiveReward - Behavior: gives a configured reward.
- Main settings: reward type, reward content, amount, inventory/catalog parameters depending on reward mode.
- Notes: may generate inventory items, badges, or related reward outputs depending on configuration.
wf_act_call_stacks
- Class:
WiredEffectTriggerStacks - Behavior: triggers other stacks indirectly.
- Main settings: selected furni/tile sources.
- Notes: recursion protection is important here.
wf_act_kick_user
- Class:
WiredEffectKickHabbo - Behavior: kicks the target user from the room.
- Main settings: target source, effect delay.
- Notes: administrative/gameplay removal effect.
wf_act_mute_triggerer
- Class:
WiredEffectMuteHabbo - Behavior: mutes the target user.
- Main settings: mute duration / target source depending on layout.
- Notes: often used in moderation or mini-game penalties.
wf_act_bot_teleport
- Class:
WiredEffectBotTeleport - Behavior: teleports the selected bot.
- Main settings: bot source and destination.
- Notes: bot-only effect.
wf_act_bot_move
- Class:
WiredEffectBotWalkToFurni - Behavior: makes a bot walk toward the selected furni.
- Main settings: bot source, target furni.
- Notes: commonly paired with bot reached triggers.
wf_act_bot_talk
- Class:
WiredEffectBotTalk - Behavior: makes a bot say configured text.
- Main settings: bot source, message text.
- Notes: subject to wired/bot text size limits.
wf_act_bot_give_handitem
- Class:
WiredEffectBotGiveHandItem - Behavior: gives a handitem to a bot.
- Main settings: bot source, handitem id.
- Notes: bot cosmetic / state effect.
wf_act_bot_follow_avatar
- Class:
WiredEffectBotFollowHabbo - Behavior: makes a bot follow an avatar.
- Main settings: bot source, avatar source.
- Notes: useful for escort or scripted behaviors.
wf_act_bot_clothes
- Class:
WiredEffectBotClothes - Behavior: changes a bot’s clothes/look.
- Main settings: bot source, look string.
- Notes: bot appearance effect.
wf_act_bot_talk_to_avatar
- Class:
WiredEffectBotTalkToHabbo - Behavior: makes a bot talk toward an avatar/target.
- Main settings: bot source, avatar target, text.
- Notes: dialogue-oriented bot effect.
wf_act_give_respect
- Class:
WiredEffectGiveRespect - Behavior: gives respect to the target user.
- Main settings: respect amount / target source.
- Notes: social reward effect.
wf_act_alert
- Class:
WiredEffectAlert - Behavior: sends an alert window/message.
- Main settings: alert text.
- Notes: distinct from whisper-style chat output.
wf_act_give_handitem
- Class:
WiredEffectGiveHandItem - Behavior: gives a handitem to the target user.
- Main settings: handitem id.
- Notes: user state/cosmetic effect.
wf_act_give_effect
- Class:
WiredEffectGiveEffect - Behavior: gives an avatar effect to the target user.
- Main settings: effect id.
- Notes: visual avatar effect.
wf_act_freeze
- Class:
WiredEffectFreeze - Behavior: freezes the selected user targets.
- Main settings: target source, effect delay.
- Notes: mainly game/control utility.
wf_act_unfreeze
- Class:
WiredEffectUnfreeze - Behavior: unfreezes the selected user targets.
- Main settings: target source, effect delay.
- Notes: counterpart to
wf_act_freeze.
wf_act_furni_to_user
- Class:
WiredEffectFurniToUser - Behavior: moves furni toward/on a user target.
- Main settings: furni source, user source, effect delay.
- Notes: movement batching/physics extras may change the visible result.
wf_act_user_to_furni
- Class:
WiredEffectUserToFurni - Behavior: moves a user toward a furni target.
- Main settings: user source, furni target.
- Notes: a user-targeted movement effect.
wf_act_furni_to_furni
- Class:
WiredEffectFurniToFurni - Behavior: moves one furni set onto another furni set.
- Main settings: primary furni source, secondary furni source.
- Notes: supports double-selection source flow.
wf_act_set_altitude
- Class:
WiredEffectSetAltitude - Behavior: sets furni altitude.
- Main settings: selected furni, altitude value or altitude mode.
- Notes: used in advanced movement / stacking setups.
wf_act_rel_mov
- Class:
WiredEffectRelativeMove - Behavior: moves furni using relative X/Y offsets.
- Main settings: selected furni, X offset, Y offset.
- Notes: easier to reason about than absolute destination when building movement loops.
wf_act_control_clock
- Class:
WiredEffectControlClock - Behavior: controls counter boxes.
- Main settings: selected counter(s), action mode such as start/stop/reset/pause/resume.
- Notes: works directly with counter-based trigger/condition flows.
wf_act_adjust_clock
- Class:
WiredEffectAdjustClock - Behavior: adjusts a counter’s current value.
- Main settings: selected counter(s), operation mode, amount.
- Notes: intended for dynamic counter manipulation.
wf_act_move_rotate_user
- Class:
WiredEffectMoveRotateUser - Behavior: moves and/or rotates user targets.
- Main settings: user source, movement mode, direction/rotation settings.
- Notes: user-side analogue of furni move/rotate logic.
wf_act_send_signal
- Class:
WiredEffectSendSignal - Behavior: sends a signal through antenna-based wiring.
- Main settings: selected antenna furni, signal payload/source options.
- Notes: can carry user/furni payload to
wf_trg_recv_signal.
wf_act_give_var
- Class:
WiredEffectGiveVariable - Behavior: assigns a custom variable to a compatible target.
- Main settings: variable definition, target type/source, overwrite flag, initial value if the variable has value.
- Notes: works with
wf_var_userandwf_var_furni; room/global variables are definition-driven and do not need this assigner.
wf_act_remove_var
- Class:
WiredEffectRemoveVariable - Behavior: removes a custom variable assignment from the selected target.
- Main settings: variable definition, target type/source.
- Notes: counterpart to
wf_act_give_var.
wf_act_change_var_val
- Class:
WiredEffectChangeVariableValue - Behavior: changes the value of a variable by applying an operation.
- Main settings: variable selection, operation, reference mode, constant or reference variable, reference source, target source.
- Supported operations: assign, add, subtract, multiply, divide, power, modulo, min, max, random, absolute, bitwise AND/OR/XOR/NOT, left shift, right shift.
- Notes: one of the most flexible variable effects; textual rendering is separate and handled by extras.
5. Selectors
General selector notes
Selectors typically do one or both of these:
- build a new target set
- filter/transform an existing target set
When the UI exposes classic selector options, those usually include:
- filter the existing selection
- invert the result
wf_slc_furni_area
- Class:
WiredEffectFurniArea - Behavior: selects furni in a configured area.
- Main settings: area size/position.
- Notes: foundational room-space selector.
wf_slc_furni_neighborhood
- Class:
WiredEffectFurniNeighborhood - Behavior: selects furni in a local neighborhood around the source point.
- Main settings: neighborhood/radius.
- Notes: useful for adjacency-based logic.
wf_slc_furni_bytype
- Class:
WiredEffectFurniByType - Behavior: selects furni by base furni type.
- Main settings: furni type.
- Notes: good for “all chairs”, “all switches”, and similar patterns.
wf_slc_furni_altitude
- Class:
WiredEffectFurniAltitude - Behavior: selects furni by altitude relation/value.
- Main settings: compare mode and altitude target.
- Notes: useful in stacked build logic.
wf_slc_furni_onfurni
- Class:
WiredEffectFurniOnFurni - Behavior: selects furni that are on top of other furni.
- Main settings: base furni selection.
- Notes: stack-inspection selector.
wf_slc_furni_picks
- Class:
WiredEffectFurniPicks - Behavior: selects a hand-picked list of furni.
- Main settings: selected furni list.
- Notes: capped by
hotel.wired.furni.selection.count.
wf_slc_furni_signal
- Class:
WiredEffectFurniSignal - Behavior: selects furni carried by a signal event.
- Main settings: signal source mode.
- Notes: meaningful only in signal-driven stacks.
wf_slc_users_area
- Class:
WiredEffectUsersArea - Behavior: selects users in a configured area.
- Main settings: area size/position.
- Notes: area equivalent of the furni selector.
wf_slc_users_neighborhood
- Class:
WiredEffectUsersNeighborhood - Behavior: selects users in a nearby neighborhood.
- Main settings: neighborhood/radius.
- Notes: good for local interaction logic.
wf_slc_users_signal
- Class:
WiredEffectUsersSignal - Behavior: selects users carried by a signal event.
- Main settings: signal source mode.
- Notes: signal-only context.
wf_slc_users_bytype
- Class:
WiredEffectUsersByType - Behavior: selects users by runtime category.
- Main settings: user type such as habbo, bot, pet.
- Notes: useful for mixed rooms with bots and pets.
wf_slc_users_team
- Class:
WiredEffectUsersTeam - Behavior: selects users by team membership.
- Main settings: team id/color.
- Notes: game-centric selector.
wf_slc_users_byaction
- Class:
WiredEffectUsersByAction - Behavior: selects users by current action/state.
- Main settings: action type / action parameter.
- Notes: complements the action trigger/conditions.
wf_slc_users_byname
- Class:
WiredEffectUsersByName - Behavior: selects users whose names are listed in the text area.
- Main settings: multiline list of usernames.
- Notes: direct name-driven selector.
wf_slc_users_handitem
- Class:
WiredEffectUsersHandItem - Behavior: selects users holding a specific handitem.
- Main settings: handitem id.
- Notes: useful for role/item possession flows.
wf_slc_users_onfurni
- Class:
WiredEffectUsersOnFurni - Behavior: selects users standing on selected furni.
- Main settings: base furni selection.
- Notes: common in pressure/tile gameplay.
wf_slc_users_group
- Class:
WiredEffectUsersGroup - Behavior: selects users by group relationship in the room.
- Main settings: group relation/mode.
- Notes: useful for rights/group-room logic.
wf_slc_furni_with_var
- Class:
WiredEffectFurniWithVariable - Behavior: selects furni that hold a chosen custom variable.
- Main settings: variable selection, optional value filter, comparison operator, constant or variable reference, reference source, selector options.
- Notes: if value filtering is disabled, it behaves as a presence-only selector.
wf_slc_users_with_var
- Class:
WiredEffectUsersWithVariable - Behavior: selects users that hold a chosen custom variable.
- Main settings: variable selection, optional value filter, comparison operator, constant or variable reference, reference source, selector options.
- Notes: user-side analogue of the furni variable selector.
6. Conditions
General condition notes
Conditions can be thought of as gates for the stack.
Common patterns:
- positive/negative counterpart pairs
- threshold checks
- “match the current selection”
- variable-based checks
- time/date checks
wf_cnd_has_furni_on
- Class:
WiredConditionFurniHaveFurni - Behavior: true if the configured furni have other furni on top.
- Main settings: target furni selection.
wf_cnd_furnis_hv_avtrs
- Class:
WiredConditionFurniHaveHabbo - Behavior: true if the configured furni currently have avatars on top.
- Main settings: target furni selection.
wf_cnd_stuff_is
- Class:
WiredConditionFurniTypeMatch - Behavior: true if the furni match the configured type.
- Main settings: furni type.
wf_cnd_actor_in_group
- Class:
WiredConditionGroupMember - Behavior: true if the acting user is in the required group relation.
- Main settings: group relation.
wf_cnd_user_count_in
- Class:
WiredConditionHabboCount - Behavior: true if room user count satisfies the configured threshold.
- Main settings: comparison and count value.
wf_cnd_wearing_effect
- Class:
WiredConditionHabboHasEffect - Behavior: true if the target user is wearing the configured effect.
- Main settings: effect id.
wf_cnd_wearing_badge
- Class:
WiredConditionHabboWearsBadge - Behavior: true if the target user wears the configured badge.
- Main settings: badge code.
wf_cnd_time_less_than
- Class:
WiredConditionLessTimeElapsed - Behavior: true if less than the configured time has elapsed.
- Main settings: duration.
wf_cnd_match_snapshot
- Class:
WiredConditionMatchStatePosition - Behavior: true if the current furni state/position matches the stored snapshot.
- Main settings: selected furni, snapshot fields to compare.
wf_cnd_time_more_than
- Class:
WiredConditionMoreTimeElapsed - Behavior: true if more than the configured time has elapsed.
- Main settings: duration.
wf_cnd_not_furni_on
- Class:
WiredConditionNotFurniHaveFurni - Behavior: logical negation of
wf_cnd_has_furni_on. - Main settings: target furni selection.
wf_cnd_not_hv_avtrs
- Class:
WiredConditionNotFurniHaveHabbo - Behavior: logical negation of
wf_cnd_furnis_hv_avtrs. - Main settings: target furni selection.
wf_cnd_not_stuff_is
- Class:
WiredConditionNotFurniTypeMatch - Behavior: logical negation of
wf_cnd_stuff_is. - Main settings: furni type.
wf_cnd_not_user_count
- Class:
WiredConditionNotHabboCount - Behavior: logical negation of the user-count match.
- Main settings: comparison and count value.
wf_cnd_not_wearing_fx
- Class:
WiredConditionNotHabboHasEffect - Behavior: true if the user is not wearing the configured effect.
- Main settings: effect id.
wf_cnd_not_wearing_b
- Class:
WiredConditionNotHabboWearsBadge - Behavior: true if the user is not wearing the configured badge.
- Main settings: badge code.
wf_cnd_not_in_group
- Class:
WiredConditionNotInGroup - Behavior: true if the user is not in the configured group relation.
- Main settings: group relation.
wf_cnd_not_in_team
- Class:
WiredConditionNotInTeam - Behavior: true if the user is not in the configured team.
- Main settings: team id/color.
wf_cnd_not_match_snap
- Class:
WiredConditionNotMatchStatePosition - Behavior: logical negation of snapshot match.
- Main settings: selected furni, snapshot fields to compare.
wf_cnd_not_trggrer_on
- Class:
WiredConditionNotTriggerOnFurni - Behavior: true if the triggerer is not on the selected furni.
- Main settings: selected furni.
wf_cnd_actor_in_team
- Class:
WiredConditionTeamMember - Behavior: true if the actor belongs to the required team.
- Main settings: team id/color.
wf_cnd_trggrer_on_frn
- Class:
WiredConditionTriggerOnFurni - Behavior: true if the triggerer is on the selected furni.
- Main settings: selected furni.
wf_cnd_has_handitem
- Class:
WiredConditionHabboHasHandItem - Behavior: true if the user currently holds the configured handitem.
- Main settings: handitem id.
wf_cnd_not_has_handitem
- Class:
WiredConditionNotHabboHasHandItem - Behavior: logical negation of the handitem condition.
- Main settings: handitem id.
wf_cnd_date_rng_active
- Class:
WiredConditionDateRangeActive - Behavior: true if current server time is between the configured absolute date/time bounds.
- Main settings: start timestamp, end timestamp.
wf_cnd_valid_moves
- Class:
WiredConditionMovementValidation - Behavior: simulates movement-related effects in the current stack and fails if a movement would be invalid.
- Main settings: no major user-facing setting besides stack composition.
- Notes: especially useful before move/rotate stacks.
wf_cnd_counter_time_matches
- Class:
WiredConditionCounterTimeMatches - Behavior: true if the selected counter(s) match the configured time value.
- Main settings: counter selection, compare mode, target value, quantifier.
wf_cnd_match_time
- Class:
WiredConditionMatchTime - Behavior: true if server local time matches the configured clock rule.
- Main settings: hour/minute/second or related time fields.
wf_cnd_match_date
- Class:
WiredConditionMatchDate - Behavior: true if server local date matches the configured date rule.
- Main settings: weekday/day/month/year.
wf_cnd_actor_dir
- Class:
WiredConditionActorDir - Behavior: true if the actor faces the configured direction.
- Main settings: direction.
wf_cnd_slc_quantity
- Class:
WiredConditionSelectionQuantity - Behavior: true if the current selection size matches the configured threshold.
- Main settings: compare mode and amount.
wf_cnd_user_performs_action
- Class:
WiredConditionUserPerformsAction - Behavior: true if the tracked user action matches.
- Main settings: action id / action parameter.
wf_cnd_not_user_performs_action
- Class:
WiredConditionNotUserPerformsAction - Behavior: logical negation of the user action condition.
- Main settings: action id / action parameter.
wf_cnd_has_altitude
- Class:
WiredConditionHasAltitude - Behavior: true if the selected furni satisfy the altitude comparison.
- Main settings: compare mode and altitude value.
wf_cnd_triggerer_match
- Class:
WiredConditionTriggererMatch - Behavior: true if the triggerer matches the required target/source rule.
- Main settings: target source/match mode.
wf_cnd_not_triggerer_match
- Class:
WiredConditionNotTriggererMatch - Behavior: logical negation of triggerer match.
- Main settings: target source/match mode.
wf_cnd_team_has_score
- Class:
WiredConditionTeamHasScore - Behavior: true if the selected team score satisfies the configured comparison.
- Main settings: team id, comparison mode, score threshold.
wf_cnd_team_has_rank
- Class:
WiredConditionTeamHasRank - Behavior: true if the selected team currently has the configured rank/placement.
- Main settings: team id, rank target.
wf_cnd_has_var
- Class:
WiredConditionHasVariable - Behavior: true if the target entity holds the chosen variable.
- Main settings: variable selection, quantifier (
all/any), variable source target. - Notes: current layout/runtime is centered on user and furni variables; context exists as future placeholder.
wf_cnd_neg_has_var
- Class:
WiredConditionNotHasVariable - Behavior: logical negation of
wf_cnd_has_var. - Main settings: variable selection, quantifier, source target.
wf_cnd_var_val_match
- Class:
WiredConditionVariableValueMatch - Behavior: compares a variable value against a constant or another variable.
- Main settings: variable selection, compare type (
>,≥,=,≤,<,≠), reference mode, reference variable/source, quantifier. - Notes: room/global variables are supported here; context remains partial.
wf_cnd_var_age_match
- Class:
WiredConditionVariableAgeMatch - Behavior: compares variable age against a duration.
- Main settings: variable selection, compare field (
creationorupdatetime), compare type (lower than/higher than), duration value + unit, quantifier, source. - Notes: room/global variables are mostly meaningful for update time.
7. Extras
wf_xtra_random
- Class:
WiredExtraRandom - Behavior: executes only a random subset of effects instead of all effects.
- Main settings: number of effects to choose, optional recent-history protection.
- Notes: effect subset changes at each execution.
wf_xtra_unseen
- Class:
WiredExtraUnseen - Behavior: rotates through effects without repeating one until the full cycle is exhausted.
- Main settings: hidden runtime state / no-repeat cycle.
- Notes: useful when true round-robin behavior is preferred over randomness.
wf_blob
- Class:
WiredBlob - Behavior: special wired/game helper item.
- Main settings: blob-specific gameplay/runtime state.
- Notes: not a normal logic extra in the same sense as the others, but it is registered in the wired extra family.
wf_xtra_or_eval
- Class:
WiredExtraOrEval - Behavior: changes how condition results are aggregated.
- Main settings: evaluation mode and compare value.
- Notes: lets stacks use modes beyond plain “all conditions must pass”.
wf_xtra_filter_furni
- Class:
WiredExtraFilterFurni - Behavior: trims the current furni selection to a limited quantity.
- Main settings: quantity.
- Notes: selection-filter extra, not a normal selector.
wf_xtra_filter_user
- Class:
WiredExtraFilterUser - Behavior: trims the current user selection to a limited quantity.
- Main settings: quantity.
- Notes: same runtime family as
wf_xtra_filter_users.
wf_xtra_filter_users
- Class:
WiredExtraFilterUser - Behavior: same runtime behavior as
wf_xtra_filter_user. - Main settings: quantity.
- Notes: alias key kept for content compatibility.
wf_xtra_filter_furni_by_var
- Class:
WiredExtraFilterFurniByVariable - Behavior: sorts furni by variable metric and keeps only the top N.
- Main settings: variable selection, sort mode, quantity mode, constant quantity or variable reference, reference source.
- Supported sort modes: highest value, lowest value, oldest creation, latest creation, oldest update, latest update.
wf_xtra_filter_users_by_var
- Class:
WiredExtraFilterUsersByVariable - Behavior: sorts users by variable metric and keeps only the top N.
- Main settings: variable selection, sort mode, quantity mode, constant quantity or variable reference, reference source.
- Supported sort modes: highest value, lowest value, oldest creation, latest creation, oldest update, latest update.
wf_xtra_mov_carry_users
- Class:
WiredExtraMoveCarryUsers - Behavior: carries users together with moved furni.
- Main settings: carry mode.
- Notes: affects how movement results are applied when furni move.
wf_xtra_mov_no_animation
- Class:
WiredExtraMoveNoAnimation - Behavior: suppresses movement animation.
- Main settings: none besides presence in stack.
- Notes: intended for instant or hidden movement behavior.
wf_xtra_anim_time
- Class:
WiredExtraAnimationTime - Behavior: overrides movement animation time.
- Main settings: animation duration.
- Notes: influences visual pacing, not core selection logic.
wf_xtra_mov_physics
- Class:
WiredExtraMovePhysics - Behavior: changes the physics rules applied during movement.
- Main settings: physics flags such as collision/pass-through/stack behavior depending on layout.
- Notes: important for advanced furni movement setups.
wf_xtra_exec_in_order
- Class:
WiredExtraExecuteInOrder - Behavior: forces ordered effect execution.
- Main settings: none besides presence in stack.
- Notes: the explicit “do not rely on arbitrary order” extra.
wf_xtra_execution_limit
- Class:
WiredExtraExecutionLimit - Behavior: allows the stack to execute only a configured number of times per window.
- Main settings: max executions, time window.
- Notes: stack-level throttle.
wf_xtra_text_output_username
- Class:
WiredExtraTextOutputUsername - Behavior: exposes one or more usernames as a text placeholder for other wired text.
- Main settings: placeholder name, placeholder type (single/multiple), delimiter, user source.
- Notes: works like a text injector for later wired text output.
wf_xtra_text_output_furni_name
- Class:
WiredExtraTextOutputFurniName - Behavior: exposes furni names as a text placeholder.
- Main settings: placeholder name, placeholder type (single/multiple), delimiter, furni source.
- Notes: furni-name counterpart to username output.
wf_xtra_text_output_variable
- Class:
WiredExtraTextOutputVariable - Behavior: exposes a variable value as a text placeholder.
- Main settings: placeholder name, variable selection, display type (
numeric/textual), placeholder type (single/multiple), delimiter, dynamic variable source. - Notes: textual display works only when the selected variable is connected through
wf_xtra_var_text_connector.
wf_xtra_var_text_connector
- Class:
WiredExtraVariableTextConnector - Behavior: maps numeric values to text labels for a variable.
- Main settings: text area mapping in the form
0=text,1=text, and so on. - Notes: must live in the same stack context as the corresponding
wf_var_*definition to be meaningful.
8. Variable Definitions
wf_var_user
- Class:
WiredExtraUserVariable - Behavior: defines a custom variable that can be assigned to users.
- Main settings: variable name,
has valueflag, availability (while user is in room/permanent). - Notes: assignment is done through
wf_act_give_var; timestamps belong to the assignment on the individual user.
wf_var_furni
- Class:
WiredExtraFurniVariable - Behavior: defines a custom variable that can be assigned to furni.
- Main settings: variable name,
has valueflag, availability (while room is active/permanent). - Notes: non-permanent assignments are cleaned when the room is unloaded/unregistered from room tickables.
wf_var_room
- Class:
WiredExtraRoomVariable - Behavior: defines a room/global variable.
- Main settings: variable name, availability (
while room is active/permanent). - Notes: always has a value; there is no separate “has value” checkbox for room variables.
9. Special Wired Items
These are part of the wired ecosystem, even if they are not regular trigger/effect/selector/condition/extra boxes.
wf_highscore
- Class:
InteractionWiredHighscore - Behavior: wired highscore furniture that stores and displays ranked score data.
- Main settings: score type, clear/reset policy, display behavior depending on furniture configuration.
- Notes: governed also by
wired.highscores.displaycount.
10. Practical Design Notes
10.1 If exact order matters
Use:
wf_xtra_exec_in_order
Do not rely on “it seems to run in that order” when the stack becomes more complex.
10.2 If the stack performs movement
Prefer to think about:
- movement validation
- movement physics extras
- carry-users extra
- animation/no-animation extras
- snapshot restore effects
Movement stacks are where most subtle runtime interactions appear.
10.3 If the stack uses variables
Remember:
- variable name must be room-unique
- target type matters
- room/global variables are definition-driven
- textual rendering requires the text connector
contextis not yet fully implemented everywhere
10.4 If the stack uses repeaters/timers
Remember:
- repeaters are synchronized on the global tick loop
- delay units are half-seconds
- counters, repeaters, and timer-style triggers often need explicit reset/control logic
10.5 If the stack is heavy
Check:
- selection size
- number of delayed effects
- recursion or self-trigger chains
- random/unseen subsets
- execution limits
- room diagnostics in
:wired
11. Quick Alias / Shared Runtime Notes
wf_trg_state_changedandwf_trg_stuff_stateshare the same runtime.wf_xtra_filter_userandwf_xtra_filter_usersshare the same runtime.- Several positive/negative conditions are simple logical counterparts.
wf_act_give_var,wf_act_remove_var,wf_act_change_var_val, variable selectors, and variable conditions all operate on top of the same custom variable system defined bywf_var_*.