Filters which terrains from a TileSet are exposed for painting. A lean whitelist: holds TilePlacementEntry resources that combine terrain names and optional icon into a single data structure. The TileSet remains the single source of truth for terrain IDs, colors, peering, and existence. Names are resolved against a TileMapLayer's TileSet at paint-time. Usage: var palette := TerrainPalette.new() palette.display_name = "Dungeon Pack" palette.entries = [ TilePlacementEntry.new(terrain_name="dungeon_floor", icon=preload("res://art/icon.png")), TilePlacementEntry.new(terrain_name="stone_wall") ]
Source: addons/grid_placement/placement/terrain/terrain_palette.gd
Syntax
class TerrainPalette extends ResourceMembers
| Name | Kind | Summary |
|---|---|---|
display_name | Property | Display name shown in the palette selector (e.g. "Dungeon Pack"). |
icon | Property | Optional icon for the palette folder in a multi-palette UI. |
placement_rules | Property | List of rules to validate for all terrains in this palette. |
ignore_base_rules | Property | If true, base rules from PlacementSettings are ignored for this palette. |
entries | Property | Terrain entries to expose for painting. Each entry carries both a terrain name and optional icon. Each name must match [method TileSet.get_terrain_name] on the target TileSet. |
get_editor_issues | Method | |
issues | Property | |
get_entries | Method | |
result | Property |
Source
addons/grid_placement/placement/terrain/terrain_palette.gd
Plugin docs root:gdscript/plugins/grid_placement_dev/docs