# Beacon Effects

You can add beacon effects inside `effects.yml`&#x20;

## Effect Config Structure

```yaml
Effects:
    <effect id>:
        Display Name: <effect display name>
        Item: <effect display item>
        Description: <effect description>
        Enabled: <true/false>
        Levels: <effect upgrades map list>
    ...
```

{% hint style="info" %}
For effect display item, please see

<https://www.spigotmc.org/wiki/itemstack-serialization/>
{% endhint %}

### Effect Upgrades Config Structure

```yaml
        Levels:
        - Cost:
                <economy name>: <price>
                ...
          Description: <upgrade description>
          Power Consumption: <upgrade's effect power consumption>
          Effects: <effects map list>
          Condition: <upgrade's effect condition>
        ...
        
```

#### Economy Types

* PlayerPoints
* Vault
* Level
* \<Item> (see config.yml)

## Available Effects

### Experience Boost

Multiply received experience

```yaml
          Effects:
          - Type: EXP_BOOST
            Multiplier: <experience boost multiplier>
            Condition: [effect condition, optional]
```

{% hint style="warning" %}
Keep the multiplier small (but not less than 1) to keep things balanced
{% endhint %}

### Temporary Fly

Gives temporary flight mode to the player, will be revoked if the player goes out of the beacon range.

```yaml
          Effects:
          - Type: FLY
            Height: <fly max height from beacon>
            Condition: [effect condition, optional]
```

### Furnace Boost

Speeds up cook time but might also consumes fuel faster

```yaml
          Effects:
          - Type: FURNACE_BOOST
            Speed Up Time: <speed up time percentage>
            Block Type Whitelist: [list of whitelisted blocks, optional]
            Condition: [effect condition, optional]
          - Type: FURNACE_BOOST
            Speed Up Time: <speed up time percentage>
            Block Type Whitelist:
            - FURNACE
            - SMOKER
```

{% hint style="info" %}
For list of blocks, please see

<https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html>
{% endhint %}

### Crops Boost

Once a crop (e.g. WHEAT, BEETROOTS, CARROTS, MELON\_STEM, etc) is placed, it will be skipped for certain stage when the location is inside the beacon range

```yaml
          Effects:
          - Type: CROPS_BOOST
            Speed Up Stage: <stage to skip when planted>
            Crops Blacklist: [list of blacklisted blocks, optional]
            Crops Whitelist: [list of whitelisted blocks, optional]
            Condition: [effect condition, optional]
```

{% hint style="info" %}
For list of blocks, please see

<https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html>
{% endhint %}

### Magnet

Pulls entities towards the beacon (positive magnitude) or against the beacon (negative magnitude)

```yaml
          Effects:
          - Type: MAGNET
            Magnitude: <the magnet strength>
            Condition: [effect condition, optional]
```

### Potion Effect

Gives potion effect to entities inside the beacon range

```yaml
          Effects:
          - Type: POTION_EFFECT
            Effect: <effect type>
            Duration: <effect duration>
            Amplifier: <effect amplifier, number starts from 0>
            Ambient: <true/false>
            Particles: <true/false>
            Icon: <true/false>
            Condition: [effect condition, optional]
```

{% hint style="info" %}
For list of potion effect types, please see

<https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html>
{% endhint %}

### Potion Duration Boost

Decrease the duration of specific active potion effect from entities inside beacon&#x20;

```yaml
          Effects:
          - Type: POTION_DURATION_BOOST
            Potion Effect Type: <effect type>
            Duration Boost Tick: <tick to decrease from effect every beacon tick>
            Condition: [effect condition, optional]
```

{% hint style="info" %}
For list of potion effect types, please see

<https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html>
{% endhint %}

### Stupid AI

Completely disables entity AI. When AI is disabled, entity will no longer target/attack anyone

```yaml
          Effects:
          - Type: STUPID_AI
            Condition: [effect condition, optional]
```

### Spawner Boost

Decrease the spawner spawn/trigger interval

```yaml
          Effects:
          - Type: SPAWNER_BOOST
            Speed Up Percentage: <spawner delay speed up percentage>
            Condition: [effect condition, optional]
```

### Fire Control

Sets entity on fire (positive fire tick) or extenguish it (negative fire tick)

```yaml
          Effects:
          - Type: FIRE_CONTROL
            Fire Tick: <fire tick to add every beacon tick>
            Condition: [effect condition, optional]
```

{% hint style="info" %}
If the fire tick is positive, the entity will be burned, otherwise, it will extinguish it
{% endhint %}

### Saturation

Gives saturation to the player

```yaml
          Effects:
          - Type: SATURATION
            Saturation: <saturation value, number>
            Condition: [effect condition, optional]
```

### Command Executor

Executes command as players or console

```yaml
        Effects:
        - Type: COMMAND_EXECUTOR
          Command: "say Hello everyone! My name is {player} and i live in {world}"
          Console: false
          Passive Command: "say This command is executed from console and will run even with no players around"
```

Placeholders:

1. `{player}` The entity name
2. `{uuid}` The entity UUID
3. `{world}` The entity world name
4. `{x}` The entity x coordinate
5. `{y}` The entity y coordinate
6. `{z}` The entity z coordinate
7. `{yaw}` The entity yaw
8. `{pitch}` The entity pitch
9. `{beacon_x}` The beacon x coordinate
10. `{beacon_y}` The beacon y coordinate
11. `{beacon_world}` The beacon world name
12. And [other placeholder](/beaconplus/configuration/placeholders.md)

### Immortality Field

Has a chance of preventing entities inside beacon from death (same function as totem of undying)

```yaml
        Effects:
        - Type: IMMORTALITY_FIELD
          Min Health: [optional, default to 1]
          Survival Chance: [optional, default to 100.0]
```

### Experience Gain

Gives specific amount of experience to all players inside the beacon

```yaml
        Effects:
        - Type: EXP_GAIN
          Exp: [number, default to 0]
```

### Cooldown Reduction

Reduce player's cooldown

```yaml
        Effects:
        - Type: COOLDOWN_REDUCTION
          Cooldown Reduction Percentage: [number, default to 0]
```

### Temporary Permission

Gives or revokes permissions temporarily to all players inside the beacon range

```yaml
        Effects:
        - Type: PERMISSION
          Permissions:
          - "my.example.permission1": true # gives permission
          - "my.example.permission2": false # revokes permission
          # or you can do this
          Permissions:
          - "my.example.permission3" # this will set to true by default
```

### Prevent Mob Spawning

Prevents mob spawning in the beacon area

```yaml
        Effects:
        - Type: PREVENT_MOB_SPAWNING
```

### Keep Chunk Loaded

Keep chunk loaded as long as the beacon is active

```yaml
        Effects:
        - Type: KEEP_CHUNK_LOADED
          Single Chunk: [true/false, default to false]
          # if Single Chunk is true, then it will only keep the chunk the beacon is in
          # if Single Chunk is false, then it will keep all the chunk within beacon radius
          Load Chunk: [true/false, default to false]
          # if Load Chunk is true, then it will attempt to load the affected chunks (if not loaded yet)
          # however this does not make the chunk loaded at startup
```


---

# 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://septogeddondev.gitbook.io/beaconplus/configuration/beacon-effects.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.
