> For the complete documentation index, see [llms.txt](https://epromc.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://epromc.gitbook.io/docs/egens/core-mechanics/events-and-multipliers.md).

# Events & Multipliers

Guide to server-wide and personal multiplier events, automated event scheduling, additive stacking logic, and BossBar alerts.

**eGens** features a dynamic event engine designed to drive player retention. Server operators can run automated or on-demand multiplier events that temporarily boost generation speeds, drop yields, or sell prices server-wide or for individual players.

***

## 🌟 Event Types

Configured in `plugins/eGens/events.yml`:

| Event Identifier | Effect                                                   | Stacking Calculation                          |
| ---------------- | -------------------------------------------------------- | --------------------------------------------- |
| `sell_multi`     | Multiplies money earned from `/sell` and Sell Wands.     | **Additive:** $1 + \sum(m\_i - 1)$            |
| `drop_amount`    | Generators spawn additional items per drop tick.         | **Additive:** $1 + \sum(m\_i - 1)$            |
| `drop_tier`      | Temporarily promotes generator loot to the next tier up. | **Idempotent:** Any active event enables it   |
| `speed_boost`    | Reduces the tick interval between generation cycles.     | **Max Multiplier:** Prevents thread overloads |
| `mixed_up`       | Generators randomly roll loot from any unlocked tier.    | **Idempotent:** Any active event enables it   |

***

## ⏰ Automated Server Events

In `config.yml`, you can configure automatic event triggers on a set schedule:

```yaml
events:
  enabled: true
  auto-trigger:
    enabled: true
    interval-minutes: 60
    pool: [sell_multi, drop_amount, drop_tier, speed_boost, mixed_up]
```

Every 60 minutes, the plugin randomly draws an event from the pool, announces it server-wide via chat, plays a chime, and broadcasts a colored countdown **BossBar**.

***

## 🧮 Multiplier Stacking Rules

To keep the server economy balanced when running multiple events, eGens enforces **additive stacking**:

$$\text{Effective Multiplier} = 1 + \sum\_{i} (\text{Multiplier}\_i - 1)$$

{% hint style="info" %}
**Stacking Example:** If a global **$2\times$ Sell Event** and a personal **$3\times$ Sell Booster** are active simultaneously: $$\text{Effective} = 1 + (2 - 1) + (3 - 1) = \mathbf{4\times \text{ Sell Value}}$$ *(Rather than compounding to $6\times$, preserving server economic balance).*
{% endhint %}

* **Global Stack Cap (`events.stack.max-global`):** Default `1`. Increase to `2–5` if you want admins to run simultaneous global events.
* **Speed Boost Clamping:** Speed boosts evaluate using `max(m1, m2)` to prevent excessive entity spawn rates on Folia region threads.

***

## 👤 Personal Events & Boosters

Players can be granted individual event boosters (e.g., from voting, rank crates, or store purchases) that run independently of global events.

### Starting Events via Command

```bash
# Global Event: 2x Sell Multiplier for 10 minutes (600s)
/egens event give global sell_multi 600 2.0

# Personal Event: 2x Drop Amount for Steve for 5 minutes (300s)
/egens event give personal Steve drop_amount 300 2.0
```

### Personal Slot Permissions

Each player has a concurrent personal event slot capacity:

* **Default:** `1` event at a time.
* **Rank Overrides:** Grant `egens.personal.slots.<number>` (e.g. `egens.personal.slots.3` allows 3 concurrent personal boosters).
* **Safety Bound:** Clamped by `max-cap: 10` in `config.yml`.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://epromc.gitbook.io/docs/egens/core-mechanics/events-and-multipliers.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
