> For the complete documentation index, see [llms.txt](https://wiki.tiltedphoques.com/tilted-online/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.tiltedphoques.com/tilted-online/guides/scripting/components.md).

# Components

The Server achitecture uses components, since it is based on an ECS (Entity Component System) architecture.

In simple terms, imagine a video game world with many characters, items, and environmental objects. Each of these objects can have different attributes and behaviors, such as appearance, movement, health, and interactions with other objects. In a traditional programming approach, managing all these objects and their interactions can become complex and difficult.

Now, lets focus on components: Components are the attributes or properties of an entity. For example, a character entity may have components like position, health, and inventory. Components are designed to be small and reusable, which means they can be easily combined and shared between different entities.

Currently only the movementcomponent is exposed:

To get the `MovementComponent` instance for an entity, use the following Lua code:

```lua
local entity = ... -- Replace this with the target entity
local movementComponent = GetMovementComponent(entity)
```

**Interact with the MovementComponent** After obtaining the movement component, you can access its properties using the dot (.) notation. For example:

```lua
local position = movementComponent.Position
local rotation = movementComponent.Rotation
local direction = movementComponent.Direction
local sent = movementComponent.Sent
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.tiltedphoques.com/tilted-online/guides/scripting/components.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
