Skip to main content

Quagmire Soil

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

Overview

quagmire_soil is a simple environment prefab that visually represents a soil tile in the Quagmire biome. It provides a functional layer for the PLANTSOIL action and supports client-side mouse interaction logic via the playeractionpicker component. It does not possess persistent gameplay logic beyond animation and action interaction.

Usage example

This prefab is automatically instantiated by the world generation system and is not typically created directly by modders.

Dependencies & tags

Components used: transform, animstate, network
Tags: Adds soil

Properties

No public properties

Main functions

CanMouseThrough(inst)

  • Description: Determines if the player’s cursor can pass through this entity (i.e., no high-priority actions like PLANTSOIL are active on it). Used to enable mouse interaction with entities behind it.
  • Parameters: inst (Entity) — the entity instance itself.
  • Returns: Two values:
    • can_mouse_through (boolean): true if both left- and right-click actions are low-priority or nil.
    • true (boolean): indicates a valid decision was made (used internally).
  • Error states: Returns nil, nil if the player or playeractionpicker is unavailable.

DisplayNameFn(inst)

  • Description: Provides a localized, context-sensitive display name string for the PLANTSOIL action when the player hovers over the entity. Only returns text if a controller is attached.
  • Parameters: inst (Entity) — the entity instance itself.
  • Returns: string — an empty string or a formatted string like "X Plant Soil" (where X is the action button label).
  • Error states: Returns an empty string if no controller is attached or localization fails.

Events & listeners

None identified.

Additional Notes

  • The prefab sets inst.entity:SetPristine() to indicate no runtime state modifications are expected on the server.
  • On the client, it immediately returns after setting up render-only properties.
  • On the server, it triggers a master_postinit callback via event_server_data for further initialization (not defined in this file).
  • The animation bank and build are both "quagmire_soil", with the "rise" animation played on spawn. It renders on the LAYER_BACKGROUND with sort order 3.