build.scan_objects
Overview
- List game objects placed in the current site with their entity IDs, table IDs, floor levels, and transforms. Works in both play mode (character must be inside a building) and build mode. Use the entity_id with build.remove_object or any build.* customization command. 'location' and 'yaw' are SITE-RELATIVE, the same space building.place_object and building.move_object take and build.scan_walls / build.scan_floors return, so you can feed them straight back in. 'world_location' and 'world_yaw' are the raw engine values; they differ because sites are rotated against the world axes (one measured at 174.5 degrees). Do not mix the two. Returns at most 'limit' objects (200 by default) - page through large sites with 'offset', and compare 'count' against 'total' to detect truncation.
Metadata
| Field | Value |
|---|---|
| Display | Scan Placed Objects |
| Category | build |
| Access | Public |
| Scope | B1Standalone |
| Tags | Experimental |
| Aliases | — |
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| floor_level | int | no | — | Filter by floor level (default: all floors) |
| deletable_only | bool | no | — | Only include objects that can be removed (excludes dev-locked and non-deletable). Default: false |
| table_id_prefix | string | no | — | Only include objects whose table id starts with this prefix, e.g. Object_Furniture (case-insensitive) |
| limit | int | no | 200 | Maximum number of objects to return in the JSON array. 0 means no limit. 'total' in the response always reflects the true match count. |
| offset | int | no | 0 | Skip this many matching objects before filling the array (for paging) |
Usage
await inzoi.cli.execute('build.scan_objects', {
floor_level: 0, // optional
deletable_only: false, // optional
table_id_prefix: '', // optional
limit: 200, // optional
offset: 0, // optional
});