Découvrez les expressions grâce à nos tutoriels pour débuter avec Skript. Pour toutes vos questions, rendez vous sur le forum ou sur Discord !

Voir les tutos J'ai besoin d'aide

Altitude (Altitude -_-')

Compatible depuis Skript 1.4.3

Description

Dans les faits, c'est un alias de 'y-coordinate of …', Il représente la hauteur de quelque chose (joueur, bloc, etc.) au dessus de la bedrock.

Exemples on block damage:
    if altitude of player is greater than 200:
        apply mining fatigue 1 to player for 3 second
Pattern [the] altitude[s] of %locations% %locations%'[s] altitude[s]

Amount (Somme de quelque chose)

Compatible depuis Skript 1.0

Description

Le somme de quelque chose.
Notez que vous ne pourrez pas compter le nombre d'objets (items) d'un inventaire avec cette expression. Utilisez plutôt l'expression " Amount of Items "

Exemples command /playersonline:
    trigger:
        send "&eJoueurs en ligne : &r%number of all players%"
Pattern (amount|number|size) of %objects%

Amount of Items (Nombre d'objets)

Compatible depuis Skript 2.0

Description

Compte le nombre d'objets (items) similaires (ex : 5 torches) qu'un inventaire peut contenir (ex : coffre, inventaire d'un joueur).

Exemples command /buy:
    trigger:
        set {_gold} to amount of gold nugget in player's inventory
        if {_gold} >= 10:
            remove 10 gold nugget from player's inventory
            give 1 gold ingot to player
            send "&aAchat effectué !"
        else:
            send "&cVous n'avez pas assez d'argent" to player
Pattern [the] (amount|number) of %item types% (in|of) %inventories%

Argument (Argument -_-')

Compatible depuis Skript 1.0

Description

Uniquement utilisable dans une commande. Un argument se présente sous cette forme : " <argument> " et reçoit une valeur donnée correspondant à son type (ex : <text>, <int>, <number>, etc.).
Pour récupérer la valeur d'un argument, vous pourrez soit vous référer à son ordre d'apparition (ex : arg-1, arg-2, arg-3, etc.) soit utiliser son nom (ex : int-arg, text-arg, item-arg, etc.). Notez qu'utiliser les noms avec des arguments de même type (ex : /ticket  ) peut créer des conflits et donc ne pas fonctionner.

 

Exemples command /give <item> <player>:
    trigger:
        give arg-1 to arg-2
        send "&aVous avez reçu -> &e%arg-1%" to arg-2
Pattern [the] last arg[ument][s] [the] arg[ument][s](-| )<(d+)> [the] <(d*1)st|(d*2)nd|(d*3)rd|(d*[4-90])th> arg[ument][s] [the] arg[ument][s] [the] %*type%( |-)arg[ument][( |-)<d+>] [the] arg[ument]( |-)%*type%[( |-)<d+>]

Arithmetic (Arithmétique / mathématique)

Compatible depuis Skript 1.4.2

Description

Expressions Arithmétiques (ex : 1 + 2, (2 - health of player) / 3, etc.) 
Les opérateurs disponibles sont : addition (+), soustraction (-), multiplication (*), division (/) et exponentiel (^).

Exemples command /calc <text> <text> <text>:
    usage: /calc valeur (+ - * / ^) valeur
    trigger:
        set {_a} to arg 1
        set {_b} to arg 3
        set {_result} to 0
        if arg 2 is "+":
            set {_result} to {_a} + {_b}
        else if arg 2 is "-":
            set {_result} to {_a} - {_b}
        else if arg 2 is "*":
            set {_result} to {_a} * {_b}
        else if arg 2 is "/":
            set {_result} to {_a} / {_b}
        else if arg 2 is "^":
            set {_result} to {_a} ^ {_b}
        else: send "&cSymbole incorrect" to player

        send "&a%{_result}%" to player
Pattern %number%[ ]+[ ]%number% %number%[ ]-[ ]%number% %number%[ ]*[ ]%number% %number%[ ]/[ ]%number% %number%[ ]^[ ]%number%

Armour Slot (Emplacement d'une pièce d'armure)

Compatible depuis Skript 1.0

Description

Une partie de l'amure du joueur (ex : les bottes, le pantalon, le plastron ou le casque)
A partir de la version 2.1 de Skript, cette expression peut être utilisée sur les monstres (mobs) pour, par exemple, équiper un zombie.

Exemples command /summon <entity>:
    trigger:
        set {_entity} to arg-1
        set helmet of {_entity} to diamond helmet
        set chestplate of {_entity} to diamond chestplate
        set leggings of {_entity} to diamond leggings
        set boots of {_entity} to diamond boots
        spawn {_entity} at player's location
Pattern [the] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot] of %living entities% %living entities%'[s] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot]

Attacked (Celui qui reçoit un dommage)

Compatible depuis Skript 1.3

Description

La victime d'un dommage (ex : lorsqu'un joueur attaque un zombie, le zombie représente l'entité attaquée)

Exemples on damage:
    if damage cause is a projectile:
        if projectile is an arrow:
            broadcast "&e%victim% dit : Aie, ça pique !"
Pattern [the] (attacked|damaged|victim) [<(.+)>]

Attacker (Celui qui attaque)

Compatible depuis Skript 1.3

Description

L'attaquant qui inflige un dommage (ex :  lorsqu'un joueur attaque un zombie, le joueur représante l'attaquant).
Notez que l'attaquant peut aussi être un bloc (ex : un cactus ou de la lave) mais dans ce cas précis, l'expression ne vous renverra rien.

Exemples on damage:
    if attacker is "ProfesseurCraft":
        kill the victim
        broadcast "&e%attacker% dit : Tu peux pas test !"
Pattern [the] (attacker|damager)

Bed (Le lit d'un joueur)

Compatible depuis Skript 2.0

Description

Le lit représente le point d'apparition (spawn) d'un joueur si bien sur il a déjà dormi dans un lit et que celui-ci existe toujours 

Exemples command /sleep:
    trigger:
        if bed of player exists:
            teleport player to bed of player
            send "&aAllez, dodo maintenant :)"
        else:
            send "&cT'as pas de lit ? Non mais allo quoi !"
Pattern [the] bed[s] [location[s]] of %players% %players%'[s] bed[s] [location[s]]

Biome (Biome -_-')

Compatible depuis Skript 1.4.4

Description

Un biome situé à une certaine position. Notez que les biomes n'utilisent que les coordonnées X et Z. L'altitude (axe Y) n'est pas pris en compte.

Exemples on consume of water bottle:
    if biome at player's location is desert:
        set player's health to player's health + 2
Pattern [the] biome (of|%direction%) %location% %location%'[s] biome

Block (Bloc)

Compatible depuis Skript 1.0

Description

Un bloc invoqué dans un événement (ex : clicked block, placed block, etc.)
Vous pouvez également utiliser les directions (ex : block above, block in front of the player, etc.)

Exemples on right click:
    if clicked block is lever on:
        set time to 00:00
        broadcast "&eNuit !"
    else if clicked block is lever off:
        set time to 12:00
        broadcast "&eJour !"
Pattern [the] [event-]block [the] block %direction% [%location%]

Block Sphere (Sphère de blocs)

Compatible depuis Skript 1.0

Description

Tous les blocs se trouvant dans un rayon donné depuis un point central (surtout utile pour les boucles)

Exemples # Sphère pleine
command /sphere <integer> <block>:
    usage: /sphere
    trigger:
        loop blocks in radius arg-1 around player:
            set loop-block to arg-2

# Sphère vide
command /hsphere <integer> <block>:
    usage: /sphere
    trigger:
        set {_r-1} to arg-1 - 1
        loop blocks in radius arg-1 around player:
            set loop-block to arg-2
        loop blocks in radius {_r-1} around player:
            set loop-block to air
Pattern [(all|the)] blocks in radius %number% [(of|around) %location%] [(all|the)] blocks around %location% in radius %number%

Blocks (Blocs)

Compatible depuis Skript 1.0

Description

Blocs relatifs à d'autres blocs ou entre d'autres blocs. Selon les cas de figure, nécessite une boucle.

Exemples # Créer un tracé #
on left click with golden hoe:
    cancel event
    set {a} to targeted block

on right click with golden hoe:
    if {a} is set:
        set {_b} to targeted block
        loop blocks between block at {a} and block at {_b}:
            set loop-block to stone
Pattern [the] blocks %direction% [%locations%] [the] blocks from %location% [on] %direction% [the] blocks from %block% to %block% [the] blocks between %block% and %block%

Blocks in Region (Blocs dans une région)

Compatible depuis Skript 2.1

Description

Tous les blocs dans une région.
Cette expression requiert un plugin de region compatible. (ex : Worldguard).
Compatibilité Worldguard : Skript 2.1 -> Worldguard 5.9 | Skript 2.2 -> Worldguard 6.0

Exemples # Carrière de sable
command /regen:
    trigger:
        loop all blocks in region "reserve_sable":
            set loop-block to sand
Pattern loop [(all|the)] blocks (in|of) [[the] region[s]] %regions%":

Chunk (Chunk | Tronçon)

Compatible depuis Skript 2.0

Description

Un tronçon (chunk) à une position donnée.

Exemples command /chunk <text> [<text>]:
    trigger:
        # Sauvegarde du chunk courant dans une liste
        if arg-1 is "ajouter":
            add chunk at player's location to {chunks::*}
            send "&aChunk ajouté !" to player
        # Affichage des chunks sauvegardés
        if arg-1 is "liste":
            if {chunks::*} is set:
                loop {chunks::*}:
                    send "&e%loop-index% - %loop-value%"
            else:
                send "&cAucun chunk de sauvegardé."
        
        # Suppression d'un chunk via son index
        if arg-1 is "supprimer":
            clear {chunks::%arg-2%}
            send "&aChunk supprimé !"

on chunk unload:
    loop {chunks::*}:
        if chunk is loop-value:
            cancel event
Pattern [the] chunk[s] (of|%directions%) %locations% %locations%'[s] chunk[s]

Clicked Block/Inventory/Slot (Bloc,entité,inventaire,slot cliqué)

Compatible depuis Skript 1.0

Description

Seulement valable pour les événements On Click et On Inventory Click.Cette expression représente les blocs ou entités cliqués.

Exemples on right click on entity:
    make the player ride the clicked entity
    broadcast "&eHue dada !"
Pattern [the] (clicked (block|%*item type/entity type%)|clicked slot|clicked inventory|click (type|action)|inventory action)  

Colour of (Couleur de...)

Compatible depuis Skript 1.2

Description

La couleur d'un bloc ou d'une entité. Vous pouvez récupérer la couleur d'un block (laine) ou d'une entité (mouton) et vous en servir, par exemple, pour colorer un message dans le chat.

Exemples on right click on wool:
    # Affiche le nom de la couleur... en couleur :)
    broadcast "<%colour of block%> %colour of block%"
Pattern [the] colo[u]r[s] of %item stacks/entities% %item stacks/entities%'[s] colo[u]r[s]

Coloured / Uncoloured (Coloré / décoloré)

Compatible depuis Skript 2.0

Description

Formate ou supprime le formatage des balises(1) et code couleur(2) des textes et message.

(1) exemple : <light green>
(2) exemple : &a 

Exemples # Si vous tapez : " <light green>Bonjour " ou " &aBonjour "
# Le chat affichera votre texte en vert clair
on chat:
    if player is op:
        set message to colored message
Pattern (colo[u]r-|colo[u]red )%texts% (un|non)[-](colo[u]r-|colo[u]red )%texts%

Command (Commande)

Compatible depuis Skript 2.0

Description

La commande qui a été détecté par l'événement : " On Command " (excluant la barre oblige et les arguments).
Si vous voulez forcer la récupération de la commande et des arguments, utilisez le pattern : " [the] (full|complete|whole) command ".
Pour ne récupérer que les arguments, utilisez le pattern : " [the] arguments ".
Notez que cette expression n'est pas adapté à la création de commandes customisées. Lisez plutôt l'article sur les commandes personnalisées pour savoir comment créer une nouvelle commande.

Exemples on command:
    if command is "kill":
        cancel event
        send "&ePourquoi te suicider ? La vie est belle :D !"
Pattern [the] (full|complete|whole) command [the] command [label] [the] arguments

Command Sender (Émetteur de la commande)

Compatible depuis Skript 2.0

Description

Le joueur ou la console qui a envoyé une commande. Généralement utilisée avec l'événement On Command afin de traiter tout type de commande (commandes de plugins et commande personnalisées)

Exemples on command:
    if command is "plugins" or "pl":
        log "%executor% est trop curieux :)" to "commands.log"
Pattern [the] [command['s]] (sender|executor)

Compass Target (Point relais ou point de passage)

Compatible depuis Skript 2.0

Description

Cette expression mémorise une position (ex : player's location, targeted block, targeted entity, etc.) dans le compass target du joeur à laquelle il pourra se téléporter ultérieurement.
Néanmoins, si vous mourrez, la position enregistrée sera redéfinie au point de spawn du monde par défaut.
 

 

Exemples # Sauvegarde un point de passage
on right click with compass:
    set player's compass target to player's location
    send "&aPoint de passage enregistré !"

# Se téléporte au dernier point de passage enregistré
on left click with compass:
    teleport player to player's compass target
    send "&aVous êtes revenu à votre dernier point de passage"
Pattern [the] compass target of %players% %players%'[s] compass target

Console (Console -_-')

Compatible depuis Skript 1.3.1

Description

Représente la console du serveur qui peut recevoir des messages et exécuter des commandes

Exemples every 10 minutes:
    execute console command "/save-all"
    send "&aSauvegarde du monde effectué !" to console
Pattern [the] (console|server)

Coordinate (Coordonnées)

Compatible depuis Skript 1.4.3

Description

Représente la coordonnée (x, y, z) d'une position (location).

Exemples # Système de mini parcours de saut
# Le block d'or sauvegarde la dernière position du joueur
on walk on gold block:
    set player's compass target to player's location

# Si le joueur tombe en dessous du niveau 100
# Il est téléporté à sa dernière position
every 1 tick:
    loop players:
        if y-coordinate of loop-player is less than 100:
            teleport loop-player to loop-player's compass target

# Note : Ceci n'est pas un jeu complet XD
Pattern [the] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s] of %locations% %locations%'[s] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s]

Creature/Entity/Player/Projectile/etc.

Compatible depuis Skript 1.0

Description

L'entité invoquée dans un événement (un joueur, un monstre, un animal, une flèche, etc.)
Vous pouvez spécifier le type de l'entité directement dans l'événement  (ex : " on right click on a villager ", " on death of a creeper ", etc.)

Exemples on right click on a villager:
    if name of villager is "Forgeron":
        cancel event
        repair player's tool
        send "&aVotre outil est réparé !" to player
Pattern [the] [event-]<.+>

Damage (Dommage)

Compatible depuis Skript 1.3.5

Description

Représente les dommages appliqués à une entité dans un événement On Damage.
Notez que dans Skript, la valeur 1 représente un coeur de vie et pas un demi-coeur.

Exemples on damage:
    if attacker is a wolf:
        if name of attacker is "Rex":
            increase damage by 5
Pattern [the] damage

Damage Cause (Cause d'un dommage)

Compatible depuis Skript 2.0

Description

La cause d'un dommage dans l'événement On Damage. Cliquez sur le lien pour en savoir plus.

Exemples on damage:
    if victim is zombie or skeleton:
        if damage cause is burning:
            cancel event
Pattern [the] damage (cause|type)

Data Value (Une valeur caractérisant un objet)

Compatible depuis Skript 1.2
Déprécié : Ne doit plus être utilisé depuis la version Bukkit 1.13+. Voir le remplacement

Description

Une valeur qui caractérise un objet (item) (son orientation (ex : piston), sa couleur (ex : laine), son usure (ex : épée), etc.)
En règle général, les aliases (les noms d'objets dans le fichier " aliases-english.sk " ou encore ceux que vous définissez directement dans vos skripts) peuvent répondre à la plupart de vos besoins. Néanmoins, vous pourriez avoir besoin de récupérer la valeur courante d'un objet et éventuellement la modifier. C'est donc là toute l'utilité de cette expression :)

Exemples on right click on wool:
    loop 15 times:
        add 1 to data of clicked block
        wait 1 tick
    set data of clicked block to 0
Pattern [the] ((data|damage)[s] [value[s]]|durabilit(y|ies)) of %item stacks/slots% %item stacks/slots%'[s] ((data|damage)[s] [value[s]]|durabilit(y|ies))

Difference (Différence entre deux valeurs)

Compatible depuis Skript 1.4

Description

La différence entre deux valeurs ( ex : nombres (numbers)temps réel (date) or heure dans Minecraft (time) )
Utilisez distance pour les positions (pour comparer la distance entre deux points)

Exemples command /equipment:
    trigger:
        # Système de temps de recharge (cooldown) avec calcul du temps écoulé.
        # {P} = dernière action, {_ET} = Temps écoulé
        # {_RWT} = Temps d'attente restant, {_WT} = Durée
        # ------------------------------------------------------
        set {_ET} to difference between {P} and now
        set {_WT} to 5 minutes
        if {_ET} is less than {_WT}:
            set {_RWT} to difference between 5 minutes and {_ET}
            send "&cVous devez attendre %{_RWT}%" to player
            stop
        give 1 leather helmet to player
        give 1 leather chestplate to player
        give 1 leather leggings to player
        give 1 leather boots to player
        give 1 wooden sword to player
        set {P} to now

# Depuis la version 2.2-dev33, les commandes intègrent un cooldown
command /equipment:
    cooldown: 5 minutes
    cooldown message: &cVous devez attendre %remaining time%
    trigger:
        give 1 leather helmet to player
        give 1 leather chestplate to player
        give 1 leather leggings to player
        give 1 leather boots to player
        give 1 wooden sword to player
Pattern difference (between|of) %object% and %object%

Direction (Direction -_-')

Compatible depuis Skript 1.01.0 (basique), 2.0 (étendu)

Description

Une expression qui aide à formuler des directions. Voir le type direction.

Exemples # Petite étoile colorée :)
# -----------------
command /cross:
    trigger:
        loop 3 times:
            set block loop-value north 1 below player to any wool
            set block loop-value north west 1 below player to any wool
            set block loop-value west 1 below player to any wool
            set block loop-value south west 1 below player to any wool
            set block loop-value south 1 below player to any wool
            set block loop-value south east 1 below player to any wool
            set block loop-value east 1 below player to any wool
            set block loop-value north east 1 below player to any wool
            spawn 3 baby zombies 5 behind player
Pattern [%number% [(north[(east|west)][(south[(east|west)][(east|west)[(above|over|up|down)[ward(below|under[neath]|beneath) [%direction%] [%number% [[(direction|horizontal direction|facing|horizontal facing) of %entity/block% (of|from)] [%number% [[(direction|horizontal direction|facing|horizontal facing) (of|from)] [%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of]) [%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of])

Distance (Distance -_-')

Compatible depuis Skript 1.0

Description

La distance entre deux points mesurée en mètres (c'est à dire en blocs).
Comme dans d'autres expression, la position d'un bloc se situe en son centre alors que pour une entité c'est au niveau des pieds.

Exemples on damage:
    if shooter is a player:
        set {_archer} to shooter's location
        set {_target} to victim's location
        set {_distance} to distance between {_archer} and {_target}
        if {_distance} is smaller than 10:
            send "&cPas terrible..." to shooter
        if {_distance} is between 10 and 20:
            send "&6C'est pas mal." to shooter
        if {_distance} is greater than 20:
            send "&aBeau tire !" to shooter
Pattern [the] distance between %location% and %location%

Drops (Objet lâchés sur le sol)

Compatible depuis Skript 1.0

Description

Uniquement valable dans l'événement On Death, cette expression représente les objets (item) que lâche une entité quand elle meurt.
Les objets tombés sur le sol peuvent être nettoyés sélectivement avec un " remove... from drops " (ex : remove all pickaxes from the drops) ou en totalité avec un " clear drops ".

Exemples on death:
    if victim is pig, fish, cow, chicken, rabbit or sheep:
        clear drops
Pattern [the] drops

Element of (Élément faisant partie d'un ensemble)

Compatible depuis Skript 2.0

Description

Le premier élément, le dernier élément ou un élément aléatoire d'un ensemble (ex : un élément extrait d'une liste).
Voir aussi : random.

Exemples variables:
    {gifts::1} = 5 diamond
    {gifts::2} = 25 iron ingot
    {gifts::3} = 25 gold ingot
    {gifts::4} = 10 emerald
    {gifts::5} = 1 nether star

command /gift:
    trigger:
        set {_E} to difference between {P} and now
        if {_E} is less than 5 minutes:
            set {_A} to difference between 5 minutes and {_E}
            send "&cVous devez attendre %{_A}%" to player
            stop
        set {_item} to random element out of {gifts::*}
        give player {_item}
        send "&aVous avez reçu : &e%{_item}%!"
        set {P} to now
Pattern ([the] first|[the] last|[a] random|%number%(st|nd|rd|th)) element [out] of %objects

Enchantment Level (Niveau d'enchantement)

Compatible depuis Skript 2.0

Description

Le niveau d'un enchantement sur un objet (item).

Exemples # Un effet de particule pour renforcer l'effet du fire aspect 2
on damage:
    if level of fire aspect of the attacker's tool is 2:
        play mobspawner flames at victim to attacker
Pattern [the] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%) o(f|n) %item types% %item types%'[s] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%)

Ender Chest (Coffre de l'Ender)

Compatible depuis Skript 2.0

Description

Le coffre de l'Ender du joueur. Vous pouvez l'ouvrir à distance via un événement ou une commande (ex : open player's ender chest to player)  et l'afficher également aux yeux des autres joueurs (ex : open player's ender chest to player-argument).

Exemples # Une commande simple pour avoir accès
# à son coffre de l'Ender à distance
# ------------------------------------
command /enderchest:
    trigger:
        open player's ender chest to player
Pattern [the] ender[ ]chest[s] of %players% %players%'[s] ender[ ]chest[s]

Entities (Entités)

Compatible depuis Skript 1.2.1

Description

Les entités de différents mondes, dans un monde spécifique (ex : world) ou dans un rayon autour d'une certaine position (ex : all players, all creepers in the player's world ou players in radius 100 of the player).

Exemples # Equivalent de la commande butcher de Worldedit
# ----------------------------------------------

command /butcher:
     trigger:
        loop entities in radius int-argument around the player:
        if loop-entity is not a player:
            kill loop-entity
Pattern [all] %*entity types% [(in|of) [world[s]] %worlds%] [all] entities of type[s] %entity types% [(in|of) [world[s]] %worlds%] [all] %*entity types% (within|[with]in radius) %number% [(block[s]|met(er|re)[s])] (of|around) %location% [all] entities of type[s] %entity types% in radius %number% (of|around) %location%

Experience (Orbes d'XP)

Compatible depuis Skript 2.1

Description

Combien d'orbe d'XP sont apparues dans une événement On Experience Spawn. Peut-être modifié.

Exemples on experience spawn:
    add 10 to the spawned experience
Pattern [the] [(spawned|dropped)] [e]xp[erience] [orb[s]]

Facing (Est en face de)

Compatible depuis Skript 1.4

Description

Un bloc ou une entité qui fait face à une direction donnée, c'est à dire le nord (north), le sud (south), l'est (east), l'ouest (west), vers le haut (up) ou vers le bas (down).(Cette expression est différente des directions qui prennent des valeurs plus précises (ex : 0.5 south and 0.7 east).

 

Exemples # Une vraie bousolle :D
# ---------------------
on right click with a compass:
    if player's horizontal facing is north:
        send "&aVous vous dirigez vers le &6nord" to player
    if player's horizontal facing is south:
        send "&aVous vous dirigez vers le &6Sud" to player
    if player's horizontal facing is east:
        send "&aVous vous dirigez vers l'&6Est" to player
    if player's horizontal facing is west:
        send "&aVous vous dirigez vers l'&6ouest" to player
Pattern [the] [horizontal] facing of %living entities/blocks% %living entities/blocks%'[s] [horizontal] facing

Food Level (Niveau de faim)

Compatible depuis Skript 1.0

Description

Le niveau de faim d'un joueur de 0 à 10. Cette expression a plusieurs alias : food / hunger level / meter / bar

Exemples # Quand on vous dit que les légumes c'est bon pour la santé :D
# ------------------------------------------------------------
on consume carrot:
    set the player's food level to 10
Pattern [the] (food|hunger)[[ ](level|met(er|re)|bar)] [of %player%] %player%'[s] (food|hunger)[[ ](level|met(er|re)|bar)]

Former/Future State (Etat passé / futur)

Compatible depuis Skript 1.1

Description

Représente la valeur d'une expression avant qu'un événement ne survienne ou après que celui-ci ait eu lieu. (ex : l'ancien ou le nouveau niveau d'experience d'un joueur (XP) dans un événment On Level Change).
Note : L'état passé, futur et présent d'une expression est quelque fois appelé " Etat dans le temps (time states)".
Note 2 : Si vous ne spécifiez pas d'état passé ou future dans une expression, l'état sera celui couramment utilisé dans l'événement en question.

Exemples # Après une visite du nether, rien de tel qu'un petit remontant :)
on teleport:
    if former world was "world_nether":
        set player's health to 10
        set player's hunger to 10
        send "&eBarre de vie et de faim regénérées !" to player
Pattern [the] (former|past|old) [state] [of] %~object% %~object% before [the event] [the] (future|to-be|new) [state] [of] %~object% %~object%(-to-be| after[(wards| the event)])

Furnace Slot (Emplacement dans un four)

Compatible depuis Skript 1.0

Description

Un emplacement (slot) dans un four ; c'est à dire soit l'emplacement à combustiles (fuel) (ex : charbon), soit l'emplacement des minerais (ore) et autres éléments cuisables (ex : minerai de fer), soit l'emplacement qui accueillera le résultat (result) de la cuisson (ex: un poulet cuit).
Notez que vous devez utiliser l'expression " block " et non " furnace " dans votre expression. (l'expression " furnace " n'existe pas).

Exemples # Adaptation du skript de cuisson automatique présent dans le dossier script de Skript
# ------------------------------------------------
options:
    radius: 1

on fuel burn:
    if fuel slot of block will be empty:
        loop blocks in radius {@radius}:
            if loop-block is a chest:
                loop items of type fuel:
                    if loop-block contains loop-item:
                        remove loop-item from loop-block
                        set fuel of event-block to loop-item
                        stop trigger

on smelt:
    if ore slot of block will be empty:
        loop blocks in radius {@radius}:
            if loop-block is a chest:
                loop items of types ore and log:
                    if loop-block contains loop-item:
                        remove loop-item from loop-block
                        set ore of event-block to loop-item
                        stop trigger

on smelt:
    loop blocks in radius {@radius}:
        if loop-block is a chest:
            if loop-block can hold result of event-block:
                add result of event-block to loop-block
                clear result of event-block
                stop trigger
Pattern [the] (ore|fuel|result)[s] [slot[s]] of %blocks% %blocks%'[s] (ore|fuel|result)[s] [slot[s]]

Game Mode (Mode de jeu)

Compatible depuis Skript 1.0

Description

Le mode de jeu (gamemode) d'un joueur (survival, creative, spectator, adventure).

Exemples on join:
    if player is op:
        set gamemode of player to creative
Pattern [the] game[ ]mode of %players% %players%'[s] game[ ]mode

Hash (Encryptage)

Compatible depuis Skript 2.0

Description

Encrypte / convertit un texte donné au format MD5. Le résultat sera une suite de chiffres et de lettres incompréhensibles.
Ce procédé est généralement utilisé pour le stockage de mot de passe ou d'adresse IP. Cela évite de stocker " en clair " (c'est à dire tel quel) un texte que vous souhaitez sauvegarder dans une variable.
Notez que l'encryptage au format MD5 est irréversible (il sera impossible de récupérer le texte initial).
Gardez à l'esprit que ce type de sécurisation reste sensible aux attaques " Brute force " ou " Rainbow table ".

Exemples command /setpass:
    trigger:
        set {profil.%player's uuid%.pwd} to hashed arg-1
        send "&aInscription effectuée !" to player
command /login:
    trigger:
        if {profil.%player's uuid%.pwd} is set:
            if {profil.%player's uuid%.pwd} is hashed arg-1:
                send "&aVous êtes bien identifié !" to player
            else:
                send "&cMot de passe incorrect" to player
        else:
            send "&6Vous devez d'abord vous inscrire" to player
Pattern [md5][( |-)hash(ed|[( |-)]code] of) %texts%

Head location (Coordonnées de la tête d'un joueur)

Compatible depuis Skript 2.0

Description

Très utile pour passer en revue les blocs se situant dans la ligne de mire d'un joueur.
Notez que cette expression est efficace seulement sur les entités dont la tête se situe au dessus du corps (ex : joueurs, enderman, zombie, squelette, etc.), ce qui n'est évidemment pas le cas pour les moutons, les cochons ou les vaches.

Exemples # Gilet de sauvetage XD
# ---------------------
every 1 tick:
    loop players:
        if chestplate of loop-player is leather chestplate:
            if block at loop-player's head's location is a water:
                push the loop-player up at speed 0.2
Pattern [the] (head|eye[s]) [location[s]] of %living entities% %living entities%'[s] (head|eye[s]) [location[s]]

Health (Santé)

Compatible depuis Skript 1.0

Description

La santé d'une créature (ex : joueur, mob, villageois, etc.). La santé minimale est de 0 et le maxium dépend de la créature. Un joueur a, par exemple, 10 de santé maximum.

Exemples on damage:
    send "&eSanté de l'ennemi:&c%victim's health%" to attacker
Pattern [the] health of %living entities% %living entities%'[s] health

Id (Identifiant)

Compatible depuis Skript 1.0

Description

L'Id (identifiant) d'un objet (item) spécifique. Vous n'avez, généralement, pas besoin de cette expression ; les aliases suffiront dans la plupart des cas.

Exemples on right click:
    send "&eID objet : &a%id of player's tool%" to player
Pattern [the] id[s] of %item type% %item type%'[s] id[s]

Index Of (Index d'une lettre ou d'un texte)

Compatible depuis Skript 2.1

Description

Le premier ou le dernier index d'un caractère ou d'un mot dans un texte.
Si un index a été trouvé, il renverra une valeur comprise entre 1 (la valeur de l'index) et le nombre de caractères qui le précédent.
Si aucune occurence n'a été trouvé, la valeur sera de -1.

Exemples on chat:
    cancel event
    # {_FI} => First Index (premier index), {_S} => Start (début)
    # {_LI} => (Dernier index), {_E} => End (Fin)
    # {_PV} => (Caractères précédents)
     # {_EC} => (Caractères en trop)
# (Exemple de message " couuuuuuuucou ")
# ==================================================

    if message contains "cou":
        set {_FI} to first index of "cou" in message
        set {_FI+2} to {_FI} + 2
        set {_S} to first {_FI+2} characters of message
        set {_LI} to last index of "cou" in message
        set {_PV} to {_LI} - 1
        set {_EC} to {_PV} - {_FI+2}
        set {_E} to last 3 characters of message
        broadcast "&eIl y a &a%{_EC}% &ecaractères en trop"
        broadcast "&eMessage reconstitué : &a%{_S}%%{_E}%"
Pattern [the] [(first|last)] index of %text% in %text%

Indices of List (Indices de liste)

Compatible depuis Skript 2.4 (indices), 2.6.1 (sorting)

Description

Renvoie tous les indices d'une variable liste, éventuellement triés par leurs valeurs. Pour trier les indices, tous les objets de la liste doivent être comparables ; sinon, cette expression renverra simplement les indices non triés.

Exemples set {l::*} to "quelques", "valeurs" and "arbitraires"
broadcast "%indices of {l::*}%" # Affichera 1, 2, 3

set {_tableau-de-classement::premier} to 17
set {_tableau-de-classement::troisieme} to 30
set {_tableau-de-classement::second} to 25
set {_tableau-de-classement::quatrieme} to 42
set {_indices-croissants::*} to sorted indices of {_tableau-de-classement::*} in ascending order
broadcast "%{_indices-croissants::*}%" #Affichera premier, second, troisieme, quatrieme
set {_indices-decroissants::*} to sorted indices of {_tableau-de-classement::*} in descending order
broadcast "%{_indices-decroissants::*}%" #Affichera quatrieme, troisieme, second, premier
Pattern [(the|all [[of] the])] (indexes|indices) of %objects%  %objects%'[s] (indexes|indices)  [sorted] (indices|indexes) of %objects% in (ascending|descending) order  [sorted] %objects%'[s] (indices|indexes) in (ascending|descending) order 

Inventory (Inventaire)

Compatible depuis Skript 1.0

Description

L'inventaire d'un bloc ou d'un joueur. Vous pouvez omettre d'utiliser cette expression si vous précisez quel objet (item) vous souhaiter ajouter ou supprimer d'un bloc ou d'un joueur.

Exemples # Système de poubelle XD
# ----------------------
on right click on button:
    if block under the event-block is a chest:
        clear inventory of the block under the event-block
        send "&aPoubelle vidée !" to player
Pattern [the] inventor(y|ies) of %inventoryholders% %inventoryholders%'[s] inventor(y|ies)

IP (IP -_-')

Compatible depuis Skript 1.4

Description

L'adresse IP d'un joueur.

Exemples command /kickass:
    trigger:
        if player is op:
            ban the IP-address of the player-argument
Pattern IP[s][( |-)address[es]] of %players% %players%'[s] IP[s][( |-)address[es]]

Item (Objet)

Compatible depuis Skript 2.0 beta 3

Description

L'objet (item) invoqué dans un événement (ex : lorsqu'un joueur laisse tomber ou ramasse un objet, lorsqu'un distributeur (dispenser) éjecte un objet ou encore lors de la fabrication (craft) d'un objet).

Exemples on pickup:
    if item is a diamond:
        cancel event
        push the player backwards at speed 0.3
        send "&eT'as le seum hein ? XD" to player
Pattern [the] item

Item Amount (Nombre d'item(s))

Compatible depuis Skript 2.2-dev24

Description

Permet de récupérer un nombre d'item sur un slot spécifique

Exemples set {_nombreitems} to item amount of player's tool
Pattern item[[ ]stack] (amount|size|number)

Items (Objets)

Compatible depuis Skript 1.4.2

Description

Objets (items) ou blocs d'un certain type. Utile dans une boucle.

Exemples on death of player:
    attacker is a player
    chance of 5%
    give a random element out of all items to attacker
#Attention, le joueur pourra obtenir n'importe quel item
Pattern [(all|every)] item(s|[ ]types) items of type[s] %item types% [(all|every)] block(s|[ ]types) blocks of type[s] %item types%

Items In (Objets dans un inventaire)

Compatible depuis Skript 2.0

Description

Tous les objets (items) d'un inventaire. Utile pour les boucles ou le stockage dans des listes.
Notez que la position des objets dans un inventaire n'est pas sauvegardée. Seul l'ordre est préservé.

Exemples # 1 chance sur 2 pour un joueur mort de récupérer ses affaires
# ------------------------------------------------------------
on death of player:
    set {inv.%player's uuid%::*} to items in player's inventory
    clear drops
on respawn:
    chance of 50%:
        loop {inv.%player's uuid%::*}:
            add loop-value to player's inventory
        clear {inv.%player's uuid%::*}
Pattern [all] items (inventor(y|ies)) %inventories%

Join & Split (Joindre et diviser)

Compatible depuis Skript 2.1

Description

Joint plusieurs textes en un seul ou divise un texte en plusieurs partie à l'aide d'un délimiteur (ex : " | ").

Exemples # Texte cocktail :D # {_L::*} => Stockage des lettres
# {_RI} => chiffres aléatoires entre 1 et 4
# {_M} => message
# -------------------
variables:
    {C::1} = "§c"
#Rouge
    {C::2} = "§6"
#Or
    {C::3} = "§e"
#Jaune
    {C::4} = "§a"
#Vert
on chat:
    set {_L::*} to message split by ""
    loop {_L::*}:
        set {_RI} to random integer between 1 and 4
        set {_L::%loop-index%} to "%{C::%{_RI}%}%%loop-value%"
    set {_M} to join {_L::*}
    set message to {_M}
Pattern (concat[enate]|join) %texts% [(with|using|by) [[the] delimiter] %text%] split %text% (at|using|by) [[the] delimiter] %text% %text% [split] (at|using|by) [[the] delimiter] %text%

Last Loaded Server Icon

Compatible depuis Skript 2.3+

Description

Renvoie la dernière icône de serveur chargée avec l'effet load server icon

Exemples set {server-icon} to the last loaded server icon
Pattern [the] [last[ly]] loaded server icon

Last Spawned/Shot Entity (Dernière entité apparue ou tirée)

Compatible depuis Skript 1.3

Description

Représente la dernière créature apparue dans un monde avec l'effet spawn ou le dernier projectile tiré avec l'effet shoot.
Notez que, bien que l'on puisse faire apparaître plusieurs créatures à la fois (ex : spawn 5 creepers), seule la dernière sera gardée en mémoire et pourra être utilisée.

Exemples # Faire apparaître une créature nommée:
# -------------------------------------
command /mobs <entity type> <text>:
    trigger:
        spawn arg-1 at player's location
        set name of last spawned entity to colored arg-2
Pattern [the] [last[ly]] (spawned|shot) %*entity type%

Length (Longeur)

Compatible depuis Skript 2.1

Description

La longueur d'un texte en nombre de caractères.

Exemples command /faction <text> <text>:
    trigger:
        if arg-1 is "create":
            if length of arg-2 is greater than 16:
                send "&cNom trop long" to player
            else:
                set {f.%player's uuid%} to colored arg-2
                send "%{f.%player's uuid%}% créée !" to player
Pattern [the] length of %texts% %texts%'[s] length

Level (Niveau)

Compatible depuis Skript 2.0 beta 3

Description

Le niveau d'un joueur.

Exemples # Sauvegarder les niveaux du joueur
# ---------------------------------
on death of player:
    set {levels.%player's uuid%} to player's level
on respawn:
    wait 1 tick
    set player's level to {levels.%player's uuid%}
Pattern [the] level of %players% %players%'[s] level

Level Progress (Niveau de progression de la barre d'XP)

Compatible depuis Skript 2.0

Description

Le niveau de progression de la barre d'expérience d'un joueur. Notez que la valeur du niveau de progression se situe entre 0 et 1.
 

Exemples # Régénérateur d'XP
# -----------------
every 1 ticks:
    loop players:
        if block below loop-player is a lapis lazuli block:
            increase the loop-player's level progress by 0.01
Pattern [the] level progress of %players% %players%'[s] level progress

Light Level (Niveau de luminosité)

Compatible depuis Skript 1.3.4

Description

Le niveau de luminosité (entre 0 et 15) d'une position donnée.
Il existe deux types de source de lumière. La première est celle du soleil (15 = lumière directe, 1-14 = lumière indirecte) et la deuxième celle des blocs (torches, pierre lumineuse (glowstone), etc.).
Le niveau total de luminosité d'un bloc est la somme des deux sources de lumières citées ci-dessus.

Exemples #Aucun exemple disponible
Pattern [(sky|sun|block)[ ]]light[ ]level [(of|%direction%) %location%]

Location (Position)

Compatible depuis Skript 2.0

Description

La position où un événement a eu lieu (ex : player's location, block's location, etc.) ou encore une position relative à une autre (ex : 1 meter above event-location)

Exemples on break oak leaves:
    drop apple 1 below event-location
Pattern [the] [event-](location|position) [the] (location|position) %direction% [%location%]

Location At (Position à telles ou telles coordonnées)

Compatible depuis Skript 2.0

Description

Autorise la création d'une position (location) depuis trois coordonnées (x, y, z) dans un monde donné.

Exemples # Système de téléportation aléatoire (à perfectionner)
# ----------------------------------------------------
on join:
    set {_x} to random number between -1000 and 1000
    set {_y} to random number between -1 and 256
    set {_z} to random number between -1000 and 1000
    set {_TP} to location at {_x}, {_y}, {_z}
    teleport player to {_TP}
Pattern [the] (location|position) [at] [(][x[ ][=[ ]]]%number%, [y[ ][=[ ]]]%number%, [and] [z[ ][=[ ]]]%number%[)] [[(in|of) [[the] world]] %world%]

Location Of (Position d'un bloc ou d'une entité)

Compatible depuis Skript 2.0 beta 3

Description

La position d'un bloc ou d'une entité. Cette expression ne représente pas uniquement les coordonnées x, y et z mais inclut également la direction vers laquelle une entité regarde et le monde dans lequel elle est.
Notez que cette expression enregistre la position d'une entité au niveau de ses pieds. Utilisez head location pour obtenir la position de l'entité au niveau de sa tête.

Exemples # {LP.%player's uuid%} => Last Position (Dernière position)
# ---------------------------------------------------------
on death:
    set {LP.%player's uuid%} to player's location
on respawn:
    teleport player to {LP.%player's uuid%}
Pattern (location|position) of %location% %location%'[s] (location|position)

Loop value (Valeur dans une boucle)

Compatible depuis Skript 1.0

Description

Représente la valeur courante d'une boucle (ex : loop-value, loop-block, loop-player, loop-item, etc.).

Exemples # Répète un texte un certains nombre de fois # en affichant la valeur courante de la boucle
# ---------------------------------------------
command /repeat <int>:
    trigger:
        loop int-argument times:
            broadcast "&a%loop-number% : &e%text-argument%"
            wait 1 ticks
Pattern [the] loop-<.+>

Lore (Description d'un objet)

Compatible depuis Skript 2.1

Description

La description d'un outils (item).

Exemples on right click with sword:
    if lore of event-itemstack is "La meilleure épée du jeu !":
        send "J'aime regarder ma magnifique épée !"
Pattern [the] lore of %itemstack/itemtype%  %itemstack/itemtype%'[s] lore  [the] line %number% of [the] lore of %itemstack/itemtype%  [the] line %number% of %itemstack/itemtype%'[s] lore  [the] %number%(st|nd|rd|th) line of [the] lore of %itemstack/itemtype%  [the] %number%(st|nd|rd|th) line of %itemstack/itemtype%'[s] lore

Max Health (Santé maximale)

Compatible depuis Skript 2.0

Description

Représente la santé maximum d'une entité (ex : 10 pour un joueur)

Exemples set {_sante maximum} to maximum health of player
broadcast "Vous avez une santée maximale de %{_sante maximum}% ❤️"
Pattern [the] max[imum] health of %living entities% %living entities%'[s] max[imum] health

Maximum Stack Size (Taille maximale d'une pile d'objets)

Compatible depuis Skript 2.1

Description

La taille maximale d'une pile d'ojets (items). (ex : 64 pour les torches, 16 pour les seaux et 1 pour les épées).

Exemples on right click:
    send "&e%maximum stack size of player's tool%"
Pattern [the] max[imum] stack[[ ]size] of %item stack% %item stack%'[s] max[imum] stack[[ ]size]

Me (Un effet qu'on applique à soi)

Compatible depuis Skript 2.1.1

Description

Cette expression ne peut être utilisée que dans une commande de type " effect command " (ex : !heal me).
Pour utiliser cette expression, vous devez changer la valeur " enable effect commands: false " dans le fichier " config.sk " de skript par " enable effect commands: true ".
Une fois la modification opérée, vous devez redémarrer votre serveur.
Note : semble ne pas fonctionner.

Exemples #Aucun exemple disponible
Pattern me my[self]

Message (Message -_-)

Compatible depuis Skript 1.4.6

Description

Le message d'un événement On Chat,  On Join, On Quit ou On Death.
Cette expression est utile pour la personnalisation des messages.

Exemples on chat:
    cancel event
    broadcast "[&a%player's world%&r] [&7%player%&r] : %message%"
Pattern [the] [chat( |-)]message [the] (join|log[ ]in)( |-)message [the] (quit|leave|log[ ]out|kick)( |-)message [the] death( |-)message

Money (Monnaie)

Compatible depuis Skript 2.0

Description

Représente l'argent qu'un joueur possède.
Vous pouvez afficher son solde, lui retirer ou lui ajouter de l'argent. (ex : send "%player's money% to player, remove 20 from player's balance, add 100 to player's account)
Cette expression requière le plugin Vault ainsi qu'un plugin d'économie.

Exemples command /bank <text> <number>:
    trigger:
        if arg-1 is "balance":
            execute player command "/balance"
        else if arg-1 is "withdrawal":
            remove arg-2 from player's account send "&aRetrait effectué" to player
            execute player command "/balance"
        else if arg-1 is "deposit":
            add arg-2 to player's account send "&aDépôt effectué" to player
            execute player command "/balance"
command /balance:
    trigger:
        if player's balance is smaller than 0:
            set {_balance} to "&c%player's balance%"
        else:
            set {_balance} to "&a%player's balance%"
            send "&3Solde courant : %{_balance}%" to player
Pattern Ne peut pas être utilisé directement

Name / Display Name (Nom d'affichage)

Compatible depuis Skript 1.4.6

Description

Représente le nom d'un compte Minecraft / Mojang (peudo), un pseudo s'affichant dans le chat ou dans la liste des joueurs d'un serveur, le nom personnalisé d'un objet (item) ou le nom d'une entitée vivante (créature).

Les différences entre ces différents noms sont :

  • name : Représente le nom d'un compte Minecraft / Mojang (non modifiable) ou le nom personalisé d'un objet ou d'une créature (modifiable)
  • display name : Représente le nom (pseudo) d'un joueur tel qu'il est affiché dans le tchat. Celui-ci peut être modifié librement en utilisant les codes couleurs de Minecraft. Il sera également reconnu par des plugins de tchat ou intégrant un système de chat comme Essentials.
  • tab list name : Représente les noms (pseudos) présents dans la liste des joueurs d'un serveur (également modifiable). N'oubliez pas que la limite, dans ce cas précis, est de 16 caractères maximum (codes couleurs compris) pour chaque pseudo. Notez également que deux joueurs ne peuvent pas avoir le même pseudo dans la liste des joueurs.

Depuis la version 2.1 de Skript, le " name " ainsi que le " display name " des entités ont différentes significations :

  • Le " name " définit uniquement le nom d'une entité avec une balise nom.
  • Le " display name " gère à la fois la balise nom et l'affichage du nom au dessus de la tête de l'entité.

Exemples # Système de surnom (Equivalent de la commande /nick)
# ---------------------------------------------------
command /nick <text>:
trigger:
    if text-argument is "defaut":
        set player's tab list name to player's name
        set player's display name to player's name
        clear {N.%player's uuid%}
    else:
        if length of text-argument is greater than 16:
            send "&cSurnom trop long" to player
        else:
            set {N.%player's uuid%} to colored text-argument
            set player's tab list name to {N.%player's uuid%}
            set player's display name to {N.%player's uuid%}
on join:
    set player's tab list name to {N.%player's uuid%}
    set player's display name to {N.%player's uuid%}
Pattern [the] (player|tab)[ ]list name[s] of %players% %players%'[s] (player|tab)[ ]list name[s] [the] (display|nick|chat)[ ]name[s] of %slots/item stacks/living entities/players% %slots/item stacks/living entities/players%'[s] (display|nick|chat)[ ]name[s] [the] name[s] of %slots/item stacks/living entities/players% %slots/item stacks/living entities/players%'[s] name[s]

Named Item (Objet nommé)

Compatible depuis Skript 2.0

Description

Donne un nom à un objet (item). Si vous voulez (re)nommer des objets existants, vous pouvez soit utiliser cette expression, soit utiliser " set name of to " (ex : set name of player's tool to "Epéé de %player%")

Exemples command /superstick:
    trigger:
        give a stick named "&eBaton de foudre" to player
on left click with a stick:
    if name of player's tool is "&eBaton de foudre":
        strike lightning at targeted block
Pattern %item types% (named|with name[s]) %text%

Now (Maintenant)

Compatible depuis Skript 1.4

Description

Le temps réel (date et heure) actuel d'un serveur. Utilisez time pour obtenir le temps de Minecraft d'un monde.

Exemples command /time:
    trigger:
        send "&bDate et heure réelle : &e%now%" to player
        send "&bHeure Minecraft : &e%time of ""world""%" to player
Pattern now

Numbers (Nombres)

Compatible depuis Skript 1.4.6

Description

Tous les valeurs situées entre deux nombres. Utile pour les boucles.
Utilisez " numbers " si vous voulez travailler avec des valeurs décimales (ex : 5.5) et " integers "si vous voulez travailler avec des entiers (ex : 9).
Une boucle de nombre entier de 1 à un nombre x peut aussi être écrit " loop x times " (ex : loop 10 times)

Exemples command /numbers <int> <int>:
    trigger:
        broadcast "&bNombres entiers :"
        loop integers from arg-1 to arg-2:
            broadcast "%loop-number%"
Pattern [(integers) (between|from) %number% (and|to) %number% %number% times

Parse (Analyse)

Compatible depuis Skript 2.0

Description

Analyse un texte et effectue des opérations de conversion (ex : set {_int} to "1" parsed as number) ou de filtrage à partir d'un pattern (au format Skript).
Si le texte donné n'est pas " parsé " (convertit ou filtré), le résultat sera nul et un message d'erreur (parse error) sera défini si une information est disponible.
Quelques précisions sur le système de filrage utilisant les patterns :

  • Dans un texte " ... ", les signes pourcentages " %% " sont utilisés pour définir où utiliser les types.
  • Vous devez sauvegarder la valeur de l'expression dans une variable liste (ex : set {parsed::*} to message parsed as " ... ").
  • La variable liste contiendra les valeurs analysées / converties de tous les types transmis dans un texte en préservant leur ordre d'apparition.
  • Si un type est " pluriels " (ex : %items%), les valeurs qu'il comporte seront stockées dans une sous variable liste (ex : {parsed::1::*}).

La conversion d'un texte en un type donné fonctionne mais l'utilisation avancée des patterns semble ne pas fonctionner.

Exemples # Multi-home : {_N} = name, {_D} = data, {_C} = coordinates
# --------------------------------------------------------------
command /sethome:
    usage: &b/sethome
    trigger:
        set {_N} to text-argument
        set {_x} to x-coord of player's location
        set {_y} to y-coord of player's location
        set {_z} to z-coord of player's location
        set {_D} to "%{_N}%|%{_x}%,%{_y}%,%{_z}%"
        add "%{_D}%" to {H.%player's uuid%::*}
        send "&aL'emplacement &b%{_N}% &aa été ajouté" to player

command /listhome:
    trigger:
        loop {H.%player's uuid%::*}:
            send "&e%loop-index% : &b%loop-value%" to player

command /tphome:
    usage: &b/tphome
    trigger:
        set {_D::*} to {H.%player's uuid%::%arg-1%} split by "|"
        set {_N} to {_D::1} set {_C::*} to {_D::2} split by ","
        set {_x} to {_C::1} parsed as numbers
        set {_y} to {_C::2} parsed as numbers
        set {_z} to {_C::3} parsed as numbers teleport player to location {_x}, {_y}, {_z}
        send "&aTéléportation à &b%{_N}% &aeffectuée" to player

command /delhome:
    trigger:
        set {_D::*} to {H.%player's uuid%::%arg-1%} split by "|"
        set {_N} to {_D::1} clear {H.%player's uuid%::%arg-1%}
        send "&aL'emplacement &b%{_N}% &aa été effacé" to player
Pattern %text% parsed as (%*type%|"<.*>")

Parse Error (Erreur d'analyse)

Compatible depuis Skript 2.0

Description

L'erreur qui est intervenue durant la dernière opération de conversion ou de filtrage d'un texte. Si aucune analyse n'a été effectuée, l'expression sera vide et ne renverra donc rien.

Exemples set {_n} to "182134O"
set {_v} to {_n} parsed as number
broadcast "%last parse error%"
Pattern [the] [last] [parse] error

Passenger (Passager)

Compatible depuis Skript 2.0

Description

Le passager d'un véhicule ou le " chevaucheur " d'une créature (mob)
Voir aussi : vehicle (expression)vehicle (effect)

Exemples on right click on entity:
    make player ride clicked entity on leftclick:
    if targeted player is riding player:
        eject passenger of player
        wait 1 tick
        push targeted player upwards at speed 2.5
Pattern [the] passenger[s] of %entities% %entities%'[s] passenger[s]

Prefix/Suffix (Préfixe/suffixe)

Compatible depuis Skript 2.0

Description

Le préfixe ou suffixe définit dans un plugin de chat.

Exemples on chat:
    cancel event
    set {_P} to colored player's prefix
    set {_N} to player's display name
    set {_S} to colored player's suffix
    broadcast "%{_P}%%{_N}%%{_S}%: &f%message%"
Pattern cannot be used directly

Random (Aléatoire)

Compatible depuis Skript 1.4.9

Description

Sélectionne un élément aléatoire (ex : random player out of all players, random item out of all items, etc.)

Exemples every 1 hour:
    give a diamond to a random player out of all players
Pattern [a] random %*type% [out] of %objects%

Random Number (Nombre aléatoire)

Compatible depuis Skript 1.4

Description

Un nombre aléatoire ou un entier compris entre deux autres nombres. Utiliser " number " pour obtenir un nombre décimal et " integer " pour un nombre entier.
Notez que l'ordre des nombres importent peu. En effet, que vous écriviez une expression sous cette forme " random number betwteen 2 and 1 " ou sous celle-ci " random number between 1 and 2 ", le résultat sera le même.

Exemples # Chiffres du loto XD
# -------------------
command /loto:
    trigger:
        loop 5 times:
            add random integer between 1 and 49 to {_lotto::*}
        loop {_lotto::*}:
            set {_lotto::%loop-index%} to "%loop-value%"
        set {_lottoNumbers} to join {_lotto::*} with ", "
        set {_extraDigit} to random integer between 1 and 10
        broadcast "&bRésultat du tirage : &e%{_lottoNumbers}%"
        broadcast "&bNuméro complémentaire : &6%{_extraDigit}%"
Pattern [a] random (integer|number) (from|between) %number% (to|and) %number%

Region (Région)

Compatible depuis Skript 2.1

Description

La région invoqué dans un événement. Cette condition requiert un plugin de region compatible. (ex : Worldguard).
Compatibilité Worldguard : Skript 2.1 -> Worldguard 5.9 | Skript 2.2 -> Worldguard 6.0

Exemples on region enter:
    if "%region%" contains "Boss_final":
        spawn a wither 5 meters in front of player
Pattern Ne peut pas être utilisé directement

Region Members & Owners (Membres ou propriétaires d'une région)

Compatible depuis Skript 2.1

Description

Renvoie une liste des membres ou des propriétaires d'une région. Cette condition requiert un plugin de region compatible. (ex : Worldguard).
Compatibilité Worldguard : Skript 2.1 -> Worldguard 5.9 | Skript 2.2 -> Worldguard 6.0.

Exemples on region enter:
    send "&bPropriétaires : &e%owners of region%" to player
    send "&bMembres : &e%members of region%" to player
Pattern cannot be used directly

Regions At (Région à telle position)

Compatible depuis Skript 2.1

Description

Toutes les régions à une position (location) donnée. Cette condition requiert un plugin de region compatible. (ex : Worldguard).
Compatibilité Worldguard : Skript 2.1 -> Worldguard 5.9 | Skript 2.2 -> Worldguard 6.0

Exemples on right click:
    set {_regions::*} to regions at the clicked block
    if {_regions::*} is set:
        loop {_regions::*}:
            send "&b%loop-value%" to player
    else:
        send "&cAucune région trouvée."
Pattern cannot be used directly

Remaining Air (Air restant)

Compatible depuis Skript 2.0 beta 3

Description

Représente le temps restant avant la noyade d'un joueur.

Exemples every 1 second:
    loop players:
        if loop-player's remaining air is less than 3 seconds:
            send "&6Remonte à la surface !" to loop-player
Pattern [the] remaining air of %living entities% %living entities%'[s] remaining air

Rounding (Arrondir)

Compatible depuis Skript 2.0

Description

Arrondit les nombres décimaux à l'entier supérieur avec " up (ceiling)" et à l'entier inférieur avec " down (floor) ".

Exemples command /round <int>:
    trigger:
        set {_number} to number-arg
        set {_NUp} to round up {_number}
        set {_NDown} to round down {_number}
        broadcast "&b%{_NUp}% - %{_NDown}%"
        set {_result} to floor({_number} + 10)
        broadcast "&b%{_result}%"
Pattern floor(%number%) [(a|the)] round[ed] down %number% round(%number%) [(a|the)] round[ed] %number% ceil[ing](%number%) [(a|the)] round[ed] up %number%

Script Name (Nom du script)

Compatible depuis Skript 2.0

Description

Contient le nom du script courant (le nom du fichier sans le " .sk ")

Exemples command /script:
    trigger:
        send "&b%script's name%" to player
Pattern [the] script[['s] name]

Shooter (Tireur)

Compatible depuis Skript 1.3.7

Description

Le tireur d'un projectile (flèche, boule de neige, etc.)
Depuis la version 2.1 de Skript, cela peut être changé pour simuler le tireur d'un projectile (pas sur de la traduction :/)

Exemples # Téléporte le joueur à l'endroit où a atterit le projectile
# ----------------------------------------------------------
on projectile hit:
    teleport shooter to event-location
Pattern [the] shooter [of %projectile%]

Sign Text (Texte d'un panneau)

Compatible depuis Skript 1.3

Description

Une ligne sur un panneau. Vous pouvez bien entendu modifier la ligne en question mais sachez que vous êtes limité à 16 caractères (code couleur compris).

Exemples on sign change:
    set line 2 to "Maison de : "
    set line 3 to "%player%"
Pattern [the] line %number% [of %block%] [the] (1st|first|2nd|second|3rd|third|4th|fourth) line [of %block%]

Skull (Crâne)

Compatible depuis Skript 2.0

Description

Représente le crâne (la tête) d'un joueur ou d'une entité.

Exemples on death:
    give victim's skull to the attacker
command /myhead:
    trigger:
        give player's skull to player

Spawn (Point d'apparition)

Compatible depuis Skript 1.4.2

Description

Le point d'apparition d'un monde.

Exemples command /setspawn:
    trigger:
        set spawn point to player's location
        send "&aSpawn définit !" to player
command /spawn:
    trigger:
        teleport player to spawn point
Pattern [the] spawn[s] [(point|location)[s]] [of %worlds%] %worlds%'[s] spawn[s] [(point|location)[s]]

Speed (Vitesse)

Compatible depuis Skript 2.0 beta 3

Description

Représente la vitesse de marche ou de vol d'un joueur. Les valeurs sont comprises entre -1 et 1 (si vous dépassez ces seuils, les valeurs seront redéfinit automatiquement aux limites autorisés). Les valeurs négatives inversent la direction de marche ou de vol.
Notez que le changement de vitesse d'un joueur change également sa vision (comme le font habituellement les potions de vitesse).
Les valeurs par défaut sont de 0.2 pour la marche et 0.1 pour le vol.

Exemples command /speed <int>:
    trigger:
        if int-argument is between 1 and 5:
            set player's walk speed to int-argument * 0.2
            set player's fly speed to int-argument * 0.1
        else:
            send "&cValeurs autorisées entre 1 et 5" to player
Pattern [the] (walk[ing]|fl(y[ing]|ight))[( |-])speed of %players% %players%'[s] (walk[ing]|fl(y[ing]|ight))[( |-])speed

Subtext (Extrait d'un texte)

Compatible depuis Skript 2.1

Description

Extrait une partie d'un texte. Vous pouvez soit récupérer les premiers caractères, les derniers caractères ou les caractères situés entre deux indices (un indice est la position d'une lettre). Les indices entre une valeur <x> et <y>  doivent être compris entre la valeur 1 et la longueur maximale du texte (le nombre de caractères).

Exemples # Parce que les majuscules, c'est important XD
# {_M} = Message, {_T} = Text (texte)
# {_FC} = First Character (premier caractère)
# {_L} = Letters (lettres), {_C} = Capital (majuscule)
# ----------------------------------------------------
on chat:
    set {_M} to message
    set {_T} to part of {_M} from characters 2 to length of {_M}
    set {_FC} to part of {_M} from characters 1 to 1
    set {_L} to "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    set {_L::*} to {_L} split by ""
    loop {_L::*}:
        if loop-value is {_FC}:
            set {_C} to loop-value
            set message to "%{_C}%%{_T}%"
Pattern [the] [(part|sub[ ](text|string)) of %texts% (between|from) (ind(ex|ices)|character[s])] %number% [(and|to) (index|character)] %number% [the] (first|last) [%number%] character[s] of %texts% [the] %number% (first|last) characters of %texts%

Target (Cible)

Compatible depuis Skript 1.4.2

Description

Pour les joueurs, la cible se situe au niveau du pointeur à l'écran (la croix). Pour une créature (mob) ou orbes d'XP, la cible est l'entité attackée / suivie.

Exemples # On ne s'attaque pas au patron XD
# --------------------------------
on entity target:
    if entity's target is "ProfesseurCraft":
        cancel event
Pattern [the] target[[ed] %*entity type%] [of %living entities%] %living entities%'[s] target[[ed] %*entity type%]

Targeted Block (Bloc ciblé)

Compatible depuis Skript 1.0

Description

Le bloc ciblé par le pointeur à l'écran (la croix).Cette expression prend en considération tous les blocs excepté l'air. Une torche sera également considéré comme un bloc.

Exemples # Un petit système pour dessiner avec sélection
# de la couleur par le biais de bloc de laine.
# ---------------------------------------------
on left click with a stick:
    if targeted block is wool:
        set {color} to targeted block
on right click with a stick:
    set targeted block to {color}
Pattern [the] target[ed] block[s] [of %players%] %players%'[s] target[ed] block[s] [the] actual[ly] target[ed] block[s] [of %players%] %players%'[s] actual[ly] target[ed] block[s]

Time (L'heure dans un monde)

Compatible depuis Skript 1.0

Description

L'heure (time) dans un monde.

Exemples command /time <text>:
    trigger:
        if text-argument is "day":
            set world's time to 7:00
        if text-argument is "night":
            set world's time to 19:00
Pattern [the] time [(in|of) %worlds%] %worlds%'[s] time

Tool (Outil)

Compatible depuis Skript 1.0

Description

L'objet (item) qu'un joueur tient dans sa main.
A partir de la version 2.1 de Skript, cette expression peut également être utilisée sur les créatures (mobs) pour par exemple changer leur arme.

Exemples # Système de changement automatique d'outil (auto-switch).
# --------------------------------------------------------
aliases:
    digable = grass, dirt, sand, gravel, clay block, snow layer
    minable = stone, cobblestone, ore
on block damage:
    if block is digable:
        loop items in player's inventory:
            if loop-item is a shovel:
                set {_shovel} to loop-item
                set loop-item to player's tool
                set player's tool to {_shovel}
    if block is minable:
        loop items in player's inventory:
            if loop-item is a pickaxe:
                set {_pickaxe} to loop-item
                set loop-item to player's tool
                set player's tool to {_pickaxe}
Pattern [the] (tool|held item|weapon) [of %living entities%] %living entities%'[s] (tool|held item|weapon)

Type of (Type de)

Compatible depuis Skript 1.4

Description

Représente le type d'un bloc, d'un objet (item) ou d'une entité. Cette expression se content uniquement d'afficher le nom du type en question.

Exemples on damage:
    if type of victim is a slime:
        broadcast "&eDe la gelée géante oO !"
Pattern [the] type of %entity types/item stacks% %entity types/item stacks%'[s] type

UUID (Universally Unique IDentifier / Identifiant Unique Universel)

Compatible depuis Skript 2.1.2

Description

L'UUID d'un joueur ou d'un monde.
Cette expression ne fonctionne pas sur les joueurs hors-ligne (offline).
Note : Il est fortement recommandé d'utiliser cette expression lorsque l'on veut enregistrer les données d'un joueur dans une variable. En effet, depuis la version Minecraft 1.8, les joueurs peuvent changer de pseudo, ce qui pose, à l'évidence, un gros problème si vous vous basez uniquement sur le nom des joueurs dans vos scripts.
 

Exemples # Simple système de home utilisant l'UUID du joueur
# -------------------------------------------------------
command /sethome:
    trigger:
        set {home.%player's uuid%} to player's location
        send "&aHome défini !" to player
command /home:
    trigger:
        if {home.%player's uuid%} is set:
            teleport player to {home.%player's uuid%}
            send "&aBienvenue chez vous :)" to player
        else:
            send "&cVous n'avez pas de home :(" to player
Pattern [the] UUID of %players/worlds% %players/worlds%'[s] UUID

Vehicle (Véhicule)

Compatible depuis Skript 2.0

Description

Le véhicule dans/sur lequel l'entité (un joueur, un animal, un monstre) se trouve. Un véhicule peut aussi être une entité. Si, par exemple, un squelette chevauche une araignée, l'araigné est alors le véhicule.
Voir aussi: passenger

Exemples # Suppression automatique de minecart à la sortie du joueur
# ----------------------------------------------------------
on vehicle exit:
    if vehicle is a cart:
        delete player's vehicle give a minecart to player
Pattern [the] vehicle[s] of %entities% %entities%'[s] vehicle[s]

Version (Version -_-)

Compatible depuis Skript 2.0

Description

La veresion de Bukkit, Minecraft ou Skript respectivement.

Exemples command /version:
    trigger:
        send "&bMinecraft : &e%minecraft version%" to player
        send "&bBukkit : &e%bukkit version%" to player
        send "&bSkript : &e%skript version%" to player
Pattern ([craft]bukkit|minecraft|skript)( |-)version

Weather (Météo)

Compatible depuis Skript 1.0

Description

Représente la météo du monde courant.

Exemples command /clearweather:
    trigger:
        set weather to clear
Pattern [the] weather [(in|of) %worlds%] %worlds%'[s] weather

World (Monde)

Compatible depuis Skript 1.0

Description

Le monde d'une entité ou le monde d'une position donnée.

Exemples # Augmentation des points de dégâts du zombie pigman
# si il est en dehors du nether
# --------------------------------------------------
on damage:
    if victim is zombie pigman:
        if world of victim is "world":
            broadcast "%health of victim%"
            set damage to damage + 4
Pattern [the] world [of %entity/location%] %entity/location%'[s] world

Worlds (Mondes)

Compatible depuis Skript 1.0

Description

Tous les mondes du serveur. Utile pour les boucles.

Exemples command /wordlist:
    trigger:
        loop all worlds:
            send "&b%loop-world%" to player
Pattern [(the|all)] worlds

X of Item (La valeur ou le montant total d'une expression en item)

Compatible depuis Skript 1.2

Description

Cette expression permet d'utiliser la valeur ou le montant total d'une expression (health, level, etc.) pour définir le nombres d'objets (items) d'un certain type qui seront donnés à un joueur.
Notez que cette expression n'est pas stable et qu'elle pourrait être remplacer dans le futur.

Exemples # Convertit les points d'expériences du joueur en pépites d'or
# ------------------------------------------------------------
command /levelToGold:
    trigger:
        give level of player of gold nuggets to the player
        set level of player to 0
Pattern %number% of %item stacks/entity type%

Yaw / Pitch (Axe horizontal / axe vertical)

Compatible depuis Skript 2.0

Description

Représente les axes de rotation (exprimés en degrés) d'un bloc (ex : panneau) ou d'une entité (joueurs, animaux, monstres).
Yaw pour l'axe horizontal et pitch pour l'axe vertical. 

Exemples # Affiche l'axe horizontal et vertical d'un joueur en continue
# ------------------------------------------------------------
every 1 tick:
     loop players:
        set {_yaw} to loop-player's yaw
        set {_pitch} to loop-player's pitch
        send "%{_yaw}% - %{_pitch}%" to loop-player
Pattern [the] (yaw|pitch) of %locations% %locations%'[s] (yaw|pitch)