# Welcome

## :notebook\_with\_decorative\_cover: About

**Luagin** is a plugin based on the **bukkit API** and **LuaJIT**. It allows developers to highly customize the server through Lua scripts in an extremely effective and efficient manner.

## :rocket: Features

| Features                             | Advantages                                                                                                                |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| Kotlin Implementation                | More concise, modern and secure syntax features.                                                                          |
| LuaJIT Implementation                | Extremely high running speed, complete support for Lua features and libraries.                                            |
| Friendly API design                  | Highly abstract and encapsulated, fluent chainable calls, excellent readability. More convenient Java object interaction. |
| Friendly API docs                    | Easy to read, professional API docs.                                                                                      |
| Inter-script communication           | Be competent for large and complex plugin development, even more modular.                                                 |
| Koin DI framework and modular design | High cohesion and low coupling. High readability and maintainability.                                                     |
| Translation                          | Language configs in different countries or regions that can be contributed by the community.                              |

## :books: Library

**Luagin** supports the **Lua standard library** and **math library**, but the **ffi**, **io**, and **os** libraries are <mark style="color:orange;">disabled</mark> because they are **useless** on the server and can cause <mark style="color:orange;">security issues</mark>.

## :question: Why Lua

Why use Lua and Luagin?

{% content-ref url="why-lua" %}
[why-lua](https://ezeny.gitbook.io/luagin-docs/why-lua)
{% endcontent-ref %}

## :white\_check\_mark: Getting Started

For information on how to get started with lua scripting, check out the link below.

{% content-ref url="useful-information/quickstart" %}
[quickstart](https://ezeny.gitbook.io/luagin-docs/useful-information/quickstart)
{% endcontent-ref %}


---

# Agent Instructions: 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:

```
GET https://ezeny.gitbook.io/luagin-docs/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
