# Christmas Present

## How to create Christmas Present <a href="#how-to-create-reward" id="how-to-create-reward"></a>

There are two options how to create ChristmasPresent. By in-game **UI** or **Manually** in the confiuration file. Both have some restrictions, so if you want use some advanced methods you will need to use combination of them.

### **Using in-game UI**

I recommend to watch SettingUp Tutorial to ScavengerHunt.

{% embed url="<https://youtu.be/FK_LnRMi-JA>" %}

{% embed url="<https://youtu.be/MIaRfaPd66s>" %}

{% hint style="info" %}
To open **SetUp UI** type `/ScavengerHunt SetUp`
{% endhint %}

{% hint style="info" %}
To open **Settings UI** type `/ScavengerHunt Settings`
{% endhint %}

### **Manually in the file**

Configuration file `ChristmasPresent.yml` is located at main folder of ScavengerHunt plugin.

#### **Template for the one Christmas Present**

```yaml
PRESENT_1:
  Name:
    EN: Purple Present
  Description:
    EN: First present you need!
  Hint:
    EN: []
  Rarity: EPIC
  Icon:
    Material: SKULL_ITEM
    MaterialData: 3
    SkullData: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTllMzlkOTFjMDRjMzBjYzFmNTMwZmVlNzk4ZWVkMjc5ZGRlNjBmOTVjMmUxZDE1NWMwZmRkMzYxZDA5NjJlZCJ9fX0=
    CustomModelData: 0
    Enchantment: false
    Color: 255:255:255
    ItemFlags:
    - HIDE_ENCHANTS
    - HIDE_ATTRIBUTES
  Condition:
    DateTimeRange:
      Active: false
      Start: 01.12.2023 00:00
      End: 02.12.2023 00:00
  Reward:
    List:
    - RewardKey_1
    ChoiceType: QUICK__ALL
  VisibilityZone: 5
  Requirement:
    CollectedPresent:
      Count: 1
  Particle:
    Active: true
    TickDelay: 13
    Data:
      Effect: SPELL_WITCH
      Amount: 35
  Grinch:
    Loot:
      Probability: 35.0
```

### Explanation of variables

#### Name, Description and Hint support multi-localization

```yaml
Name:
  EN: "Purple present"
  SK: "Fialový darček"
```

#### Rarity

Rarity is not recommended to use, but you can differ what present has higher value. Also you can create requirements using Rarity. (E.g. Collect 3 EPIC Presents.)

If you want to change rarity names of create more/less rarities. Edit `CustomValue.yml` , `GUI.yml` and `Localization` file.

#### Icon

Setting up icon is recommended through in-game UI. It is used at Album, Locations and Admin UI for better recognition between each other presents.

#### Condition

To increase rarity and also activity on your server, you can place a condition when is able to find Christmas Present. Players have to visit server and find egg in specified date-time range. Before and after this range, Present won't be able to find.&#x20;

#### Requirements

Before finding that present, player has to meet requirements. If player meets requiremenets, present is spawned at location. You can combine these three requirements as you wish.

Examples:

Player has to find specified Egg.

```yaml
Requirement:
  CollectedPresent:
    Key: "PRESENT_1" #Key of the present.
```

Player has to find at least one Present.

```yaml
Requirement:
  CollectedPresent:
    Count: 1
```

Player has to find at least 2 presents from COMMON rarity and one EPIC.

```yaml
Requirement:
  CollectedPresent:
    RarityCount:
    - "COMMON:2"
    - "EPIC"
```

#### VisibilityZone

How near(in blocks) has to be player to spawn present.

```yaml
VisibilityZone: 20
```

#### Particle

Particles are spawning around the spawned Christmas Present. You can keep them active or disable them. Also you can change Effect, Color, Speed and Amount.

```yaml
Particle:
  Active: true
  TickDelay: 13 #How fast particles are spawned. (20 ticks = 1 second)
  Data:
    Effect: SPELL_WITCH
    Amount: 35
    Speed: 1.0 #Optional, Default 1.0
    Color: "255:255:255" #Optional, Default White
    Offest: #Optional, Offset from Christmas Present's location. (Vector)
      X: .5
      Y: .5
      Z: .5
```

#### Reward

Choice Types:

* `QUICK_ALL` - All assigned rewards are given to player
* `QUICK_CHANCE` - One reward is selected from assigned list by probability

Example for **probability**. `DiamondTools` has 90% chance, `MoneyPocket` has 10% chance to win.&#x20;

{% hint style="danger" %}
Summary of probability at assinged rewards has to be **100.0**! Otherwise, system won't work correctly!
{% endhint %}

```yaml
Reward:
  List:
  - DiamondTools:90.0
  - MoneyPocket:10.0
  ChoiceType: QUICK_CHANCE
```

#### Grinch

Set the probability of the Grinch swiping a present.

```yaml
Grinch:
  Loot:
    Probability: 35.0 #Percentage ratio. Allowed range <O;100>
```

{% hint style="danger" %}
Plugin **Grinch** must be installed on the server!
{% endhint %}

### Testing the Christmas Present

At **detail** of the Christmas Present, at **bottom** of the UI, there is a `Redstone Dust`. By clicking on it, you can **test** the claiming. All Rewards assigned to this present will be given to you. (No Database query/update will be executed.)

{% hint style="info" %}
Available through **Settings** and **Christmas Present Repository**.
{% endhint %}

## Finally

After successful setting up of the presents, you need to reload the plugin to load new rewards.

{% hint style="info" %}
To reload the whole plugin type `/ScavengerHunt Reload`
{% endhint %}


---

# 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://wiki.innouniq.com/plugins/archieve/advent-season-2023-edition/modules/scavenger-hunt/configuration/christmas-present.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.
