— — — — —
— — — — —
— — — — —
— — — — —
— — — — —
— — — — —
— — — — —
— — — — —
An object is a resource type meant for certain entities that can be interacted with by the player as well as for those that are simply decorations to place onto tiles. Objects, similar to tiles and characters, are created in the Voxel Editor and then placed into a map using the “Place” mode of the Map Editor. Refer to the table below for some examples of what should be represented as an object in your game.
Usage | Examples |
---|---|
Interactive Entities | Treasure chests (or other containers), signs, doors, levers, switches |
Decorations | Tables and chairs (or other furniture), trees, bushes, fences |
Item Pickups | A key or potion within the world that will provide an item to the player |
Refer to the table below for a list of object properties that can be accessed from a script. If the property's value can be changed using an assignment statement, it will be noted in the description.
Property | Description |
---|---|
<object>.id | Entity ID of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the ID of the object. |
<object>.type | Type of entity, in this case the constant value OBJECT. |
<object>.coord | Coordinate of the object. |
<object>.direction | Cardinal direction (NORTH, SOUTH, WEST, EAST) in which the object is rotated. The default direction of an entity is SOUTH. |
<object>.tiles | An array of tiles that the object is currently occupying. |
<object>.groups | An array of groups to which the object is assigned. The array will be empty if the object is not assigned to any groups. |
<object>.tags | An array of tags (as strings) for the object, as set in the Voxel Editor from the Model Properties panel. |
<object>.interact_cursor | Interaction cursor for the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the interaction cursor for the object. Valid values include “default”, “walk”, “interact”, “speak”, “attack”, or any custom cursor defined in your game configuration. |
<object>.property[“x”] | Custom property stored on the object, where “x” is a string containing the name of the property. This can be used to either retrieve or change the property's value. |
<object>.model | Name of the object's model (e.g. “tree”). |
<object>.frame | Current animation frame (as a number, with the first frame being 1). This can be used to either retrieve or change the model's current frame. If this property is changed and an animation is playing, the animation will first be stopped. |
<object>.animation | Name of the animation currently playing for this object (as a string). Value will be null if no animation is playing. |
<object>.animations | An array of animation names defined for this object. The names will be string values. |
<object>.attach_points | An array of attach point names defined for this object (across all animation frames). The names will be string values. The array will be empty if no attach points are defined. |
<object>.attachment[“x”] | Object attached to the object, where “x” is the attach point ID. |
<object>.effect[“x”] | Effect attached to the object, where “x” is the attach point ID. |
<object>.textures | An array of texture names defined for this object. The names will be string values. |
<object>.scale | Scale of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the scale of the object. When changing the scale, an array with three numeric values (X, Y, Z) is expected. |
<object>.scale_x | X scale of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the X scale of the object. |
<object>.scale_y | Y scale of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the Y scale of the object. |
<object>.scale_z | Z scale of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the Z scale of the object. |
<object>.offset | Offset of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the offset of the object. When changing the offset, an array with three numeric values (X, Y, Z) is expected. |
<object>.offset_x | X offset of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the X offset of the object. |
<object>.offset_y | Y offset of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the Y offset of the object. |
<object>.offset_z | Z offset of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the Z offset of the object. |
<object>.rotation | Rotation of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the rotation of the object. When changing the rotation, an array with three numeric values (X, Y, Z) is expected. |
<object>.rotation_x | X rotation of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the X rotation of the object. |
<object>.rotation_y | Y rotation of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the Y rotation of the object. |
<object>.rotation_z | Z rotation of the object, as set in the Map Editor from the Entity Properties panel. This can be used to either retrieve or change the Z rotation of the object. |