# Documentazione

Ciao, Benvenuto nella documentazione ufficiale di ax3lt per i miei plugin e altre cose.

Ciao! Puoi guardare la documentazione per i miei plugin qui: [I miei plugins](/plugins/my-plugins)

{% hint style="info" %}
Se vuoi sostenermi, puoi donare [qui](https://paypal.me/ax3lt)
{% endhint %}


# My plugins

{% hint style="info" %}
**Twitch Live Announcer**: <https://www.spigotmc.org/resources/twitch-live-announcer.107784/>
{% endhint %}

{% hint style="info" %}
**JoinParticles**: <https://www.spigotmc.org/resources/joinparticles.79545/>
{% endhint %}

{% hint style="info" %}
**JoinSound**: <https://www.spigotmc.org/resources/joinsound.79154/>
{% endhint %}

{% hint style="info" %}
**Chat**: <https://www.spigotmc.org/resources/chat.85655/>
{% endhint %}


# Twitch Live Announcer (v.1.8.0)

A Spigot plugin that broadcasts a message when a Twitch streamer goes live or offline.

### Prerequisites:

* Java 11+
* [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) (to use placeholderAPI features)
* [Twitch API Key](https://dev.twitch.tv/console/apps)

### Installation:

To install this plugin [download ](https://www.spigotmc.org/resources/twitch-live-announcer.107784/)it from spigot and put it in you plugin folder

### Configuration files:

* [config.yml](https://github.com/ax3lt/Twitch-Live-Announcer/blob/master/src/main/resources/config.yml)
* [messages.yml](https://github.com/ax3lt/Twitch-Live-Announcer/blob/master/src/main/resources/messages.yml)

### Config walkthrough:

<details>

<summary><code>reload_time: 60</code></summary>

This is the time in seconds how often the plugin will check the status of the channels specified in the configuration

</details>

<details>

<summary><code>client_id: ''</code><br><code>client_secret: ''</code></summary>

These are the most important settings of the plugin, here you have to specify you twitch token to be able to get information from the channels\
\
To get this token you have to go to [this ](https://dev.twitch.tv/console/apps)page\
After the login you will be presented to a page like this\
![](https://2667138181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_-mFV-Up5VGIn0F99p%2Fuploads%2FADgmUlzaXWEic3Ksw9LY%2Fimage.png?alt=media\&token=f1b65893-d475-4efe-8b24-4dc8f5e97405)\
Here you have to click "Register your application", it will ask for a name, oauth redirect url, and category.\
As for the name and category you can insert whatever you like, in the oauth url you can put `http://localhost` as my application does not have necessity of this feature.\
After clicking create you will be brought back to the initial page, here you have to click 'manage' and a page like this will be shown\
![](https://2667138181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_-mFV-Up5VGIn0F99p%2Fuploads%2FAm7u2AHQBfUUzJDXZAvQ%2Fimage.png?alt=media\&token=90711963-6fc3-4a78-9f25-0823096f7853)\
You can see here you client ID, to generate your client secret you have to click 'New secret'

</details>

<details>

<summary><code>check_updated: true</code></summary>

If this is set to true, the plugin on startup will check if a new version is available on spigot, and notify that in the console

</details>

<details>

<summary><code>channels: []</code></summary>

This is the list of all the channels you want the plugin to check\
\
Example of working list:

```yaml
channels:
  - 'ElSpreen'
  - 'Forsen'
  - 'Dream'
```

All these channels will be audited every "reload\_time" to obtain information on their status (online, offline, stream type)

</details>

{% hint style="warning" %}
For this feature to work you need PlaceholderAPI
{% endhint %}

<details>

<summary><code>linked_users: []</code></summary>

This feature allow you to connect your minecraft player to his twitch channel\
Example:

```yaml
linked_users:
  Dream_minecraft:
  - Dream_twitch_channel
```

After you link a player to his channel you can use the placeholder %tla\_status% for example in tab to show the stream status of the player (Online/Offline - Customizable)

</details>

<details>

<summary><code>commands: ...</code></summary>

Here you can specify custom commands to execute when a stream status changes

Default values:

```yaml
commands:
  enabled: false
  start:
    - 'tellraw @a {"text":"%channel% is now streaming","color":"gray"}'
  stop:
    - 'tellraw @a {"text":"%channel% is not streaming anymore","color":"gray"}'
```

In this example when the stream goes live a grey text with written '%channel% is now streaming' will be broadcasted to all players

</details>

<details>

<summary><code>Filters</code></summary>

**Filtering stream game:**\
In this section you can check for specific games streamed (this is a setting from the streamer end)\
Default values:

```yaml
filter-stream-type:
  enabled: false
  games:
    - 'Minecraft'
```

\
**Filtering stream title:**\
Here you can check for a specified string in the title of the stream, useful if you want for example to set the online status of the live only if the title contains your server name

```yaml
filter-stream-title:
  enabled: false
  text:
    - 'Minecraft server!'
```

</details>

<details>

<summary><code>placeholders: ...</code></summary>

These are the values of the placeholder that shows the stream information, they are the same shown by link feature

Default values:

```yaml
placeholders:
  enabled: true
  live: '&c[Live]'
  offline: '&7[Offline]'
```

</details>

<details>

<summary><code>bungee: ...</code></summary>

This feature allows you to send the stream start stop message to all the servers on you bungeecord network (beta feature)

</details>

<details>

<summary>Disable streaming messages</summary>

When set to true the corresponding message broadcast will be disabled

```yaml
disable-streaming-message: false
disable-not-streaming-message: false
```

</details>


# JoinParticles

Riproduci particelle visibili a tutti quando un giocatore entra nel server

## Con questo plugin puoi spawnare delle particelle quando un player entra nel tuo server.

Per impostare i permessi delle particelle avrai bisogno di un plugin come [LuckPerms](https://luckperms.net/).

Per impostare un permesso con LuckPerms bisogna digitare questo comando in chat o da console:

`lp nome permission set joinparticles.X`

Con X che sia il numero scelto dalla config.yml

**Comandi e permessi**:

|        Comando        |    Permesso   |
| :-------------------: | :-----------: |
| /joinparticles reload | joinparticles |

#### **File di configurazione:**

{% tabs %}
{% tab title="YAML" %}
{% code title="config.yml" %}

```yaml
###############################################################
#                        JoinParticles                        #
###############################################################

# !!!THIS PLUGIN WORKS ONLY WITH A PERMISSION PLUGIN!!!

# You can choose between different types of particles and assign each one to a different role,
# for example Vip has LAVA, Vip ++ has EXPLOSION_LARGE, and you can change the number of particles generated by "particles-number".
# If you have luckperms you have to use the command:
#  lp group Vip permission set joinparticles.1 ( or whatever type of particle you want to put )
#  And when a player from the VIP group enters the server, particles visible to everyone will be spawned

#  !!!ATTENTION!!! if you insert a high number of particles your server could lag

# You can choose from one of the following particles.
#    BARRIER
#    BLOCK_CRACK
#    BLOCK_DUST
#    BUBBLE_COLUMN_UP
#    BUBBLE_POP
#    CAMPFIRE_COSY_SMOKE
#    CAMPFIRE_SIGNAL_SMOKE
#    CLOUD
#    COMPOSTER
#    CRIT
#    CRIT_MAGIC
#    CURRENT_DOWN
#    DAMAGE_INDICATOR
#    DOLPHIN
#    DRAGON_BREATH
#    DRIP_LAVA
#    DRIP_WATER
#    DRIPPING_HONEY
#    ENCHANTMENT_TABLE
#    END_ROD
#    EXPLOSION_HUGE
#    EXPLOSION_LARGE
#    EXPLOSION_NORMAL
#    FALLING_DUST
#    FALLING_HONEY
#    FALLING_LAVA
#    FALLING_NECTAR
#    FALLING_WATER
#    FIREWORKS_SPARK
#    FLAME
#    FLASH
#    HEART
#    ITEM_CRACK
#    LANDING_HONEY
#    LANDING_LAVA
#    LAVA
#    LEGACY_BLOCK_CRACK
#    LEGACY_BLOCK_DUST
#    LEGACY_FALLING_DUST
#    MOB_APPEARANCE
#    NAUTILUS
#    NOTE
#    PORTAL
#    REDSTONE
#    SLIME
#    SMOKE_LARGE
#    SMOKE_NORMAL
#    SNEEZE
#    SNOW_SHOVEL
#    SNOWBALL
#    SPELL
#    SPELL_INSTANT
#    SPELL_MOB
#    SPELL_MOB_AMBIENT
#    SPELL_WITCH
#    SPIT
#    SQUID_INK
#    SUSPENDED
#    SUSPENDED_DEPTH
#    SWEEP_ATTACK
#    TOTEM
#    TOWN_AURA
#    VILLAGER_ANGRY
#    VILLAGER_HAPPY
#    WATER_BUBBLE
#    WATER_DROP
#    WATER_SPLASH
#    WATER_WAKE

#You can put a delay to spawn the particles a little later (use it if the players don't see the particles)
delay: 5


1:
  permission: joinparticles.1
  particles: LAVA
  particles-number: 10

2:
  permission: joinparticles.2
  particles: LAVA
  particles-number: 10

3:
  permission: joinparticles.3
  particles: LAVA
  particles-number: 10

4:
  permission: joinparticles.4
  particles: LAVA
  particles-number: 10

5:
  permission: joinparticles.5
  particles: LAVA
  particles-number: 10

6:
  permission: joinparticles.6
  particles: LAVA
  particles-number: 10

7:
  permission: joinparticles.7
  particles: LAVA
  particles-number: 10

8:
  permission: joinparticles.8
  particles: LAVA
  particles-number: 10

9:
  permission: joinparticles.9
  particles: LAVA
  particles-number: 10

10:
  permission: joinparticles.10
  particles: LAVA
  particles-number: 10
```

{% endcode %}
{% endtab %}
{% endtabs %}


# JoinSound

Un semplice plugin che ti permette di impostare un suono per il join

## Con questo plugin puoi avviare un suono quando un player entra nel tuo server.

### Info

Per impostare i permessi avrai bisogno di un plugin di come [LuckPerms](https://luckperms.net/).\
Puoi modificare il suono da config.yml. \
Con l'opzione "first join sound" puoi avere un suono personalizzato per il player che entra per la prima volta e il ritardo del suono.

### **Comandi e permessi**

|        Comando        |  Permesso |
| :-------------------: | :-------: |
|    /joinsound help    | joinsound |
|   /joinsound reload   | joinsound |
| /joinsound normalJoin | joinsound |
|  /joinsound firstJoin | joinsound |

#### **Permessi aggiuntivi:**

`joinsound.personalized`

Ti abilita il permesso aggiuntivo per il suono personalizzato.

#### **File di configurazione:**

{% tabs %}
{% tab title="YAML" %}
{% code title="config.yml" %}

```yaml
########################################################################
#                             JoinSound                                #
########################################################################


#A list of supported sounds can be found here: https://www.digminecraft.com/lists/sound_list_pc.php

#First Join
firstJoinSound: entity.ender_dragon.growl
firstJoinVolume: 3
firtsJoinPitch: 1.0

#Normal Join
sound: entity.player.levelup
volume: 3
pitch: 1.0

# Personalized join sound ( E.s sound when owner joins )
personalized-sound:
  enabled: false
  play-to-all-players: true
  sound: ui.toast.challenge_complete
  volume: 3
  pitch: 1.0
  permission: joinsound.personalized # Works with permission plugins

# Do you want a sound to be played to all online players when a player join?
sound-to-all-on-join:
  enabled: true
  sound: block.note_block.harp
  volume: 3
  pitch: 1.0

# Do you want a sound to be played to all online players when a player leave?
sound-to-all-on-leave:
  enabled: true
  sound: block.note_block.bass
  volume: 3
  pitch: 1.0


#Delay Time
#If necessary, write a delay value if the sound is not listened to completely ( accept numbers with dot ) ( is in milliseconds )
# E.g. delay: 100
delay: 0


#Messages

#Reload message
reload-message: "&6[&9JoinSound&6]&a&l Reload completed!"

#Message in the console when the plugin is turned on
plugin-start: "&2JoinSound has been activated!"

#Message in the console when the plugin is turned off
plugin-stop: "&4JoinSound has been disabled!"

#Help message ( /joinsound help )
help-message:
  - "&6&nList of commands:"
  - "&a&l/joinsound help &r&b-->&r &9&oView this menu&r"
  - "&a&l/joinsound reload &r&b-->&r &9&oReload config.yml&r"
  - "&a&l/joinsound normalJoin &r&b-->&r &9&oView and play the current sound&r"
  - "&a&l/joinsound firstJoin &r&b-->&r &9&oView and play the current sound for a player who joins for the first time\n&r"

# /joinsound normalJoin
normaljoin-message: "&3&lSound name: &r&c&o"

# /joinsound firstJoin
firstjoin-message: "&3&lSound name: &r&c&o"

# Wrong usage message ( /joinsound )
wrongusage-message: "&9&oIncorrect use of the command:\nFor a list of commands type &r&b--> &r&a&l/joinsound help"
```

{% endcode %}
{% endtab %}
{% endtabs %}


# Chat

Un semplice plugin che dice a un giocatore quando viene taggato in chat o gli viene scritto in privato.

## Con questo plugin saprai quando verrà scritto il tuo nome in chat e verrà sottolineato, in modo che tu possa riconoscere il messaggio in mezzo a quello di tutti gli altri.

{% hint style="info" %}
**Se trovi bug o vuoi aiutarmi con un implementazione al plugin puoi farlo su** [**GitHub**](https://github.com/ax3lt/Chat/)**.**
{% endhint %}

### Info

Per impostare i permessi avrai bisogno di un plugin di come [LuckPerms](https://luckperms.net/).\
Nella config puoi modificare il plugin che manda messaggi alla riga 2.

Puoi customizzare come verrà rimpiazzato il tuo nome e il suono che verrà riprodotto.\
Lo stesso per i messaggi privati e il tpa e tpahere.

Se sei un admin ora potrai anche richiamare l'attenzione di tutti i player in chat scrivendo @everyone, anche questo customizzabile.

### **Comandi:**

|    Comando   |   Permesso  |       Descrizione      |
| :----------: | :---------: | :--------------------: |
| /chat reload | chat.reload | Ricarica la config.yml |

#### **Permessi aggiuntivi:**

`chat.use`Permesso dato di default a tutti i player.

`chat.everyone`Permesso di scrivere @everyone. Lo hanno i player op di default.

#### **File di configurazione:**

{% tabs %}
{% tab title="YAML" %}
{% code title="config.yml" %}

```yaml
#PLugin used for the chat
plugin: "essentials"

# When a player do /msg or aliases
message:
  sound: "minecraft:ui.cartography_table.take_result"
  volume: 2
  pitch: 1.5


chat:
  #How should the string be replaced if it finds the player?
  replaced: "&a@"
  sound: "minecraft:block.note_block.pling"
  volume: 2
  pitch: 2

tpa: # e tpahere
  sound: "minecraft:block.note_block.bit"
  volume: 2
  pitch: 2

everyone:
  replaced: "&c@"
  sound: "minecraft:block.note_block.pling"
  volume: 2
  pitch: 2


reload-message: "&l&2Config.yml reloaded!"

missing-message-error: "&cError: Missing message"

plugin-start: "&2Chat has been enabled!"
plugin-stop: "&4Chat has been disabled!"
```

{% endcode %}
{% endtab %}
{% endtabs %}


