Source: addons/grid_placement/systems/building/terrain/terrain_placement_service_3d.gd
Syntax
class TerrainPlacementService3D extends TerrainServiceContractMembers
| Name | Kind | Summary |
|---|---|---|
MSG_TERRAIN_NOT_READY | Field | Player-facing reason when terrain cannot be painted because the scene is not set up. The setup detail is written to the developer log instead. |
terrain_cell_changed | Signal | Fires on every GridMap cell edit made through this service (paint, replace, or erase — erase reports GridMap.INVALID_CELL_ITEM). Games can connect to re-validate placed objects after terrain edits; the policy stays with the game, placement-time validation remains authoritative. |
fail_on_identical_repaint | Property | When true, repainting identical terrain fails loudly (legacy behavior). Default false: identical repaints read as valid placements that changed nothing, with PlacementReport.placed left null, a "No tiles placed" note, and one acknowledgement in the action log. Rule rejections and config errors always fail loudly regardless of this flag. |
supported_dimensions | Method | |
set_states | Method | |
try_place_terrain_by_name | Method | |
resolved_map | Property | |
issues | Property | |
blocked | Property | |
noop | Property | |
item | Property | |
report | Property | |
validate_terrain_cell | Method | |
resolved_map | Property | |
item | Property | |
on_tile | Property | |
below | Property | |
supported | Property | |
previous_item | Property | |
issues | Property | |
resolved_map | Property | |
item | Property | |
entry | Property | |
ctx | Property | |
results | Property | |
paint_cells | Method | |
resolved_map | Property | |
item | Property | |
entry | Property | |
painted | Property | |
rejected | Property | |
first_issue | Property | |
issues | Property | |
strict_report | Property | |
noop | Property | |
reason | Property | |
empty_report | Property | |
report | Property | |
erase_cells | Method | |
try_demolish_terrain | Method | |
resolved_map | Property | |
terrain_name | Property | |
data | Property | |
entry | Property | |
erase_report | Property | |
stacked_cell | Method | |
stacked_paint_targets | Method | |
first_cell | Property | |
count | Property | |
start_terrain_drag_3d | Method | |
is_terrain_dragging_3d | Method | |
cancel_terrain_drag_3d | Method | |
begin_terrain_paint_segment_3d | Method | |
get_terrain_paint_segment_3d | Method | |
preview_terrain_drag_3d | Method | |
complete_terrain_drag_3d | Method | |
cells | Property | |
take_terrain_drag_cells_3d | Method | |
cap | Property |