diff --git a/data/commun/functions/boucle.mcfunction b/data/commun/functions/boucle.mcfunction new file mode 100644 index 0000000..5f0fa2d --- /dev/null +++ b/data/commun/functions/boucle.mcfunction @@ -0,0 +1,9 @@ + + + +# Fait en sorte que les joueurs aient leur grade quand il faut +function commun:grades/protection/verification + +# Détecte un joueur qui se connecte ou se déconnecte +function commun:connexion/nouveau_joueur/detection +function commun:connexion/ancien_joueur/detection diff --git a/data/commun/functions/connexion/ancien_joueur/detection.mcfunction b/data/commun/functions/connexion/ancien_joueur/detection.mcfunction new file mode 100644 index 0000000..3166a43 --- /dev/null +++ b/data/commun/functions/connexion/ancien_joueur/detection.mcfunction @@ -0,0 +1,19 @@ +#======================================== +# Mode de déclenchement : + # Tick + +# Déclencheurs : + # commun:boucle + +# Fonction du fichier : + # Détermine si un ancien joueur vient de se reconnecter et agit en conséquence. + +# Tags utilisés : + # ---- +#======================================== + + + +execute as @a if score @s commun_LeaveGame matches 1.. run function commun:connexion/ancien_joueur/trigger + +scoreboard players set @a[scores={commun_LeaveGame=1..}] commun_LeaveGame 0 diff --git a/data/commun/functions/connexion/ancien_joueur/trigger.mcfunction b/data/commun/functions/connexion/ancien_joueur/trigger.mcfunction new file mode 100644 index 0000000..5ec228e --- /dev/null +++ b/data/commun/functions/connexion/ancien_joueur/trigger.mcfunction @@ -0,0 +1,26 @@ +#======================================== +# Mode de déclenchement : + # Event + +# Déclencheurs : + # commun:connexion/ancien_joueur/verification + +# Fonction du fichier : + # Execute ce qu'il faut à la connexion de l'ancien joueur + +# Tags utilisés : + # ---- +#======================================== + + + +tellraw @a [{"text":"[","color":"gray"},{"text":"+","color":"green"},{"text":"] ","color":"gray"},{"selector":"@s"}] + +team leave @s + +tellraw @s [{"text":"Bonjour ","color":"blue"},{"selector":"@s","color":"gold"},{"text":" !","color":"blue"}] +tellraw @s [{"text":"N'hésite pas à nous rejoindre sur ","color":"blue"},{"text":"le Discord","underlined":true,"color":"gold","clickEvent":{"action":"open_url","value":"https://discord.gg/vqRNfaC"}},{"text":" si ce n'est pas déjà fait !","color":"blue"}] + +function commun:grades/attribution + +execute as @a at @s run playsound minecraft:block.lava.pop master @s ~ ~ ~ 1 1.5 diff --git a/data/commun/functions/connexion/nouveau_joueur/detection.mcfunction b/data/commun/functions/connexion/nouveau_joueur/detection.mcfunction new file mode 100644 index 0000000..03d716f --- /dev/null +++ b/data/commun/functions/connexion/nouveau_joueur/detection.mcfunction @@ -0,0 +1,21 @@ +#======================================== +# Mode de déclenchement : + # Tick + +# Déclencheurs : + # commun:boucle + +# Fonction du fichier : + # Détermine si un joueur se connecte pour la première fois sur le serveur. + +# Tags utilisés : + # ---- +#======================================== + + + +# Détecte si un joueur est nouveau (= pas d'UUID) et l'initialise +execute as @a unless score @s commun_UUID matches 1.. run function commun:connexion/nouveau_joueur/trigger + +# Détecte si un joueur à passé plus de 30 minutes (= 36000 ticks) sur le serveur +execute as @a if score @s commun_TempsJeu matches 36000 run function commun:connexion/nouveau_joueur/plus_nouveau \ No newline at end of file diff --git a/data/commun/functions/connexion/nouveau_joueur/plus_nouveau.mcfunction b/data/commun/functions/connexion/nouveau_joueur/plus_nouveau.mcfunction new file mode 100644 index 0000000..5e64789 --- /dev/null +++ b/data/commun/functions/connexion/nouveau_joueur/plus_nouveau.mcfunction @@ -0,0 +1,24 @@ +#======================================== +# Mode de déclenchement : + # Event + +# Déclencheurs : + # commun:connexion/nouveau_joueur/detection + +# Fonction du fichier : + # Passe le nouveau joueur en tant que joueur normal. + +# Tags utilisés : + # ---- +#======================================== + + + +# Attribution du nouveau grade +scoreboard players set @s commun_Grade 1 +team join oJoueur + +# Message d'information +tellraw @s {"text":"Vous avez joué 30 minutes, merci !"} + +# Mettre un bruit ou un advancement ? \ No newline at end of file diff --git a/data/commun/functions/connexion/nouveau_joueur/trigger.mcfunction b/data/commun/functions/connexion/nouveau_joueur/trigger.mcfunction new file mode 100644 index 0000000..0718049 --- /dev/null +++ b/data/commun/functions/connexion/nouveau_joueur/trigger.mcfunction @@ -0,0 +1,42 @@ +#======================================== +# Mode de déclenchement : + # Event + +# Déclencheurs : + # commun:connexion/nouveau_joueur/detection + +# Fonction du fichier : + # Execute ce qu'il faut lors de la connexion d'un nouveau joueur. + +# Tags utilisés : + # ---- +#======================================== + + + +# Set de l'UUID + +function commun:outils/uuid/attribution + + + +# Attribution du grade + +scoreboard players set @s commun_Grade 0 +team join pNouveau + + + +# Messages de bienvenue et d'information + +tellraw @a [{"text":"[","color":"gray"},{"text":"+","color":"green"},{"text":"] ","color":"gray"},{"selector":"@s"}] + +team leave @s + +tellraw @a [{"text":"C'est la première connexion de ","color":"green"},{"selector":"@s","color":"gold"},{"text":" sur Aycraft ! Bienvenue à toi !","color":"green"}] +tellraw @s [{"text":"Tu peux naviguer sur le serveur facilement via un menu qui se trouve dans ton inventaire ! Presse "},{"keybind":"key.inventory"},{"text":" pour y accéder !"}] +tellraw @s [{"text":"N'hésite pas à nous rejoindre sur ","color":"blue"},{"text":"le Discord","underlined":true,"color":"gold","clickEvent":{"action":"open_url","value":"https://discord.gg/vqRNfaC"}},{"text":" si ce n'est pas déjà fait !","color":"blue"}] + +team join pNouveau + +execute as @a at @s run playsound minecraft:ui.toast.challenge_complete master @s ~ ~ ~ 0.5 1.2 diff --git a/data/commun/functions/global_serveur/gamerules.mcfunction b/data/commun/functions/global_serveur/gamerules.mcfunction new file mode 100644 index 0000000..71bb76b --- /dev/null +++ b/data/commun/functions/global_serveur/gamerules.mcfunction @@ -0,0 +1,40 @@ +#======================================== +# Mode de déclenchement : + # Load + +# Déclencheurs : + # commun:initialisation + +# Fonction du fichier : + # Initialise les gamerules et le worldspawn aux bonnes valeurs + +# Tags utilisés : + # ---- +#======================================== + + + +gamerule announceAdvancements false +gamerule commandBlockOutput false +gamerule disableElytraMovementCheck false +gamerule doDaylightCycle false +gamerule doEntityDrops true +gamerule doFireTick false +gamerule doLimitedCrafting true +gamerule doMobLoot true +gamerule doMobSpawning false +gamerule doTileDrops true +gamerule doWeatherCycle false +gamerule keepInventory false +gamerule logAdminCommands false +gamerule maxCommandChainLength 1000000 +gamerule mobGriefing false +gamerule naturalRegeneration true +gamerule randomTickSpeed 3 +gamerule reducedDebugInfo false +gamerule sendCommandFeedback true +gamerule showDeathMessages false +gamerule spawnRadius 0 +gamerule spectatorsGenerateChunks false + +setworldspawn 0 100 0 diff --git a/data/commun/functions/grades/attribution.mcfunction b/data/commun/functions/grades/attribution.mcfunction new file mode 100644 index 0000000..5b0160f --- /dev/null +++ b/data/commun/functions/grades/attribution.mcfunction @@ -0,0 +1,52 @@ +#======================================== +# Mode de déclenchement : + # Event + +# Déclencheurs : + # commun:grades/refresh + # commun:grades/protection/correction + # commun:connexion/ancien_joueur/trigger + +# Fonction du fichier : + # Attribution des grades aux joueurs. + # Plus le score commun_Grade est haut, plus le joueur est haut dans la hiérarchie. + +# Tags utilisés : + # ---- +#======================================== + + + +# Staff + +team join aFondateur @s[scores={commun_Grade=15}] +team join bAdministrateur @s[scores={commun_Grade=14}] +team join cIngenieurChef @s[scores={commun_Grade=13}] +team join dArchitecteChef @s[scores={commun_Grade=12}] +team join eModerateur @s[scores={commun_Grade=11}] +team join fIngenieur @s[scores={commun_Grade=10}] +team join gArchitecte @s[scores={commun_Grade=9}] +team join hAssistant @s[scores={commun_Grade=8}] +team join iIngenieurTest @s[scores={commun_Grade=7}] +team join jArchitecteTest @s[scores={commun_Grade=6}] + + + +# Membres à grades spéciaux + +team join kYoutubeur @s[scores={commun_Grade=5}] +team join lAmi @s[scores={commun_Grade=4}] + + + +# Membres à grades payants + +team join mVIP+ @s[scores={commun_Grade=3}] +team join nVIP @s[scores={commun_Grade=2}] + + + +# Grade de base + +team join oJoueur @s[scores={commun_Grade=1}] +team join pNouveau @s[scores={commun_Grade=0}] diff --git a/data/commun/functions/grades/creation.mcfunction b/data/commun/functions/grades/creation.mcfunction new file mode 100644 index 0000000..24d99d6 --- /dev/null +++ b/data/commun/functions/grades/creation.mcfunction @@ -0,0 +1,93 @@ +#======================================== +# Mode de déclenchement : + # Load + +# Déclencheurs : + # commun:initialisation + +# Fonction du fichier : + # Création de tous les grades + +# Tags utilisés : + # ---- +#======================================== + + + +# Staff + + # Fondateur +team add aFondateur +team modify aFondateur prefix [{"text":"Fondateur","bold":true,"color":"gold"},{"text":" » ","color":"gray"}] + + # Administrateur +team add bAdministrateur +team modify bAdministrateur prefix [{"text":"Administrateur","color":"dark_red"},{"text":" » ","color":"gray"}] + + # Ingénieur Chef +team add cIngenieurChef +team modify cIngenieurChef prefix [{"text":"Chef Ingénieur","bold":true,"color":"dark_green"},{"text":" » ","color":"gray"}] + + # Architecte Chef +team add dArchitecteChef +team modify dArchitecteChef prefix [{"text":"Chef Architecte","bold":true,"color":"dark_blue"},{"text":" » ","color":"gray"}] + + # Modérateur +team add eModerateur +team modify eModerateur prefix [{"text":"Modérateur","color":"yellow"},{"text":" » ","color":"gray"}] + + # Ingénieur +team add fIngenieur +team modify fIngenieur prefix [{"text":"Ingénieur","color":"dark_green"},{"text":" » ","color":"gray"}] + + # Architecte +team add gArchitecte +team modify gArchitecte prefix [{"text":"Architecte","color":"dark_blue"},{"text":" » ","color":"gray"}] + + # Assistant +team add hAssistant +team modify hAssistant prefix [{"text":"Assistant","color":"dark_purple"},{"text":" » ","color":"gray"}] + + # Ingénieur Test +team add iIngenieurTest +team modify iIngenieurTest prefix [{"text":"Ingénieur Test","italic":true,"color":"dark_green"},{"text":" » ","color":"gray"}] + + # Architecte Test +team add jArchitecteTest +team modify jArchitecteTest prefix [{"text":"Architecte Test","italic":true,"color":"dark_blue"},{"text":" » ","color":"gray"}] + + + +# Membres à grades spéciaux + + # Youtubeur +team add kYoutubeur +team modify kYoutubeur prefix [{"text":"Youtubeur","color":"red"},{"text":" » ","color":"gray"}] + + # Ami +team add lAmi +team modify lAmi prefix [{"text":"Ami","color":"light_purple"},{"text":" » ","color":"gray"}] + + + +# Membres à grades payants (€ ou Ay Coins) + + # VIP+ (10€) +team add mVIP+ +team modify mVIP+ prefix [{"text":"VIP","color":"dark_aqua"},{"text":"+","color":"gold"},{"text":" » ","color":"gray"}] + + # VIP (5€) +team add nVIP +team modify nVIP prefix [{"text":"VIP","color":"dark_aqua"},{"text":" » ","color":"gray"}] + + + +# Grades de base + + # Joueur +team add oJoueur +team modify oJoueur prefix [{"text":"Joueur » ","color":"gray"}] + + # Nouveau +team add pNouveau +team modify pNouveau prefix [{"text":"Nouveau","color":"dark_gray"},{"text":" » ","color":"gray"}] diff --git a/data/commun/functions/grades/protection/correction.mcfunction b/data/commun/functions/grades/protection/correction.mcfunction new file mode 100644 index 0000000..11f97d3 --- /dev/null +++ b/data/commun/functions/grades/protection/correction.mcfunction @@ -0,0 +1,47 @@ +#======================================== +# Mode de déclenchement : + # Event + +# Déclencheurs : + # commun:grades/protection/verification + +# Fonction du fichier : + # Remet aux joueurs le score commun_Grade qu'ils devraient avoir + # Remet aux joueurs le grade qu'ils devraient avoir si besoin + +# Tags utilisés : + # commun_ABesoinGrade + # commun_EstJoueurRandom +#======================================== + + + +# Remise du score a sa valeur normale + + # Staff +scoreboard players set @s[name=aygame] commun_Grade 15 +scoreboard players set @s[name=Fabaure] commun_Grade 14 +scoreboard players set @s[name=Haugtolas] commun_Grade 14 +scoreboard players set @s[name=mathaym25] commun_Grade 13 +scoreboard players set @s[name=Catsuri33] commun_Grade 11 +scoreboard players set @s[name=_Fire_Ghost_] commun_Grade 11 +scoreboard players set @s[name=matiousse12] commun_Grade 11 +scoreboard players set @s[name=Multicort] commun_Grade 11 +scoreboard players set @s[name=Vianpyro] commun_Grade 10 +scoreboard players set @s[name=vinzvador] commun_Grade 9 +scoreboard players set @s[name=marlax_] commun_Grade 9 +scoreboard players set @s[name=zaled] commun_Grade 8 +scoreboard players set @s[name=KaZs] commun_Grade 6 + + # Youtubeur -> VIP +# pas fait + + # Autres membres +scoreboard players set @s[tag=commun_EstJoueurRandom,scores={commun_TempsJeu=36000..}] commun_Grade 1 +scoreboard players set @s[tag=commun_EstJoueurRandom,scores={commun_TempsJeu=..35999}] commun_Grade 0 + + + +# Join de la team si le joueur a le tag commun_ABesoinGrade + +execute if entity @s[tag=commun_ABesoinGrade] run function commun:grades/attribution diff --git a/data/commun/functions/grades/protection/verification.mcfunction b/data/commun/functions/grades/protection/verification.mcfunction new file mode 100644 index 0000000..6fdbf07 --- /dev/null +++ b/data/commun/functions/grades/protection/verification.mcfunction @@ -0,0 +1,86 @@ +#======================================== +# Mode de déclenchement : + # Tick + +# Déclencheurs : + # commun:boucle + +# Fonction du fichier : + # Déterminer si les joueurs ont bien la valeur du score commun_Grade qu'ils devraient avoir + +# Tags utilisés : + # commun_EstJoueurRandom + # commun_ABesoinGrade +#======================================== + + + +# Ajout du tag commun_EstJoueurRandom permettant de différencer le staff et les gradés des autres + +tag @a[name=!aygame,name=!Fabaure,name=!Haugtolas,name=!mathaym25,name=!Catsuri33,name=!_Fire_Ghost_,name=!matiousse12,name=!Multicort,name=!Vianpyro,name=!vinzvador,name=!marlax_,name=!zaled,name=!KaZs] add commun_EstJoueurRandom + + + +# Vérification des joueurs + + # Fondateur +execute as aygame unless entity @s[scores={commun_Grade=15},team=aFondateur] unless entity @s[scores={commun_Grade=15},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Administrateur +execute as Fabaure unless entity @s[scores={commun_Grade=14},team=bAdministrateur] unless entity @s[scores={commun_Grade=14},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction +execute as Haugtolas unless entity @s[scores={commun_Grade=14},team=bAdministrateur] unless entity @s[scores={commun_Grade=14},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Chef Ingénieur +execute as mathaym25 unless entity @s[scores={commun_Grade=13},team=cIngenieurChef] unless entity @s[scores={commun_Grade=13},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Chef Architecte +# vide car c'est Fabaure + + # Modérateur +execute as Catsuri33 unless entity @s[scores={commun_Grade=11},team=eModerateur] unless entity @s[scores={commun_Grade=11},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction +execute as _Fire_Ghost_ unless entity @s[scores={commun_Grade=11},team=eModerateur] unless entity @s[scores={commun_Grade=11},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction +execute as matiousse12 unless entity @s[scores={commun_Grade=11},team=eModerateur] unless entity @s[scores={commun_Grade=11},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction +execute as Multicort unless entity @s[scores={commun_Grade=11},team=eModerateur] unless entity @s[scores={commun_Grade=11},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # # Ingénieur +execute as Vianpyro unless entity @s[scores={commun_Grade=10},team=fIngenieur] unless entity @s[scores={commun_Grade=10},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Architecte +execute as vinzvador unless entity @s[scores={commun_Grade=9},team=gArchitecte] unless entity @s[scores={commun_Grade=9},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction +execute as marlax_ unless entity @s[scores={commun_Grade=9},team=gArchitecte] unless entity @s[scores={commun_Grade=9},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Assistant +execute as zaled unless entity @s[scores={commun_Grade=8},team=hAssistant] unless entity @s[scores={commun_Grade=8},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Ingénieur Test +# vide + + # Architecte Test +execute as KaZs unless entity @s[scores={commun_Grade=6},team=jArchitecteTest] unless entity @s[scores={commun_Grade=6},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Youtubeur +# A faire + + # Ami +# A faire + + # VIP+ +# A faire + + # VIP +# A faire + + # Membre +execute as @a[tag=commun_EstJoueurRandom,scores={commun_TempsJeu=36000..}] unless entity @s[scores={commun_Grade=1},team=oJoueur] unless entity @s[scores={commun_Grade=1},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + # Nouveau +execute as @a[tag=commun_EstJoueurRandom,scores={commun_TempsJeu=..35999}] unless entity @s[scores={commun_Grade=0},team=pNouveau] unless entity @s[scores={commun_Grade=0},tag=!commun_ABesoinGrade] run function commun:grades/protection/correction + + + +# Suppression du tag commun_EstJoueurRandom + +tag @a[tag=commun_EstJoueurRandom] remove commun_EstJoueurRandom + + + diff --git a/data/commun/functions/grades/refresh.mcfunction b/data/commun/functions/grades/refresh.mcfunction new file mode 100644 index 0000000..030bcc5 --- /dev/null +++ b/data/commun/functions/grades/refresh.mcfunction @@ -0,0 +1,17 @@ +#======================================== +# Mode de déclenchement : + # ---- + +# Déclencheurs : + # ---- + +# Fonction du fichier : + # Détecte quand un joueur sort d'un mini jeu (et donc implicitement quitte la team associée) et lui remet sa team liée au grade + +# Tags utilisés : + # ---- +#======================================== + + + +execute as @a[team=] run function commun:grades/attribution diff --git a/data/commun/functions/initialisation.mcfunction b/data/commun/functions/initialisation.mcfunction new file mode 100644 index 0000000..2c16be7 --- /dev/null +++ b/data/commun/functions/initialisation.mcfunction @@ -0,0 +1,11 @@ + + + +# Update des gamerules +function commun:global_serveurgamerules + +# Création des grades +function commun:grades/creation + +# Initialisation des valeurs constantes +function commun:outils/constantes diff --git a/data/commun/functions/outils/constantes.mcfunction b/data/commun/functions/outils/constantes.mcfunction new file mode 100644 index 0000000..e6f36a4 --- /dev/null +++ b/data/commun/functions/outils/constantes.mcfunction @@ -0,0 +1,117 @@ +#======================================== +# Mode de déclenchement : + # Load + +# Déclencheurs : + # commun:initialisation + +# Fonction du fichier : + # Liste des valeurs de scores utiles pour des calculs. + # Chacun peut ajouter ses valeurs, mais merci de respecter l'ordre croissant. + +# Tags utilisés : + # ---- +#======================================== + + + +scoreboard players set 1 commun_Constante 1 +scoreboard players set 2 commun_Constante 2 +scoreboard players set 3 commun_Constante 3 +scoreboard players set 4 commun_Constante 4 +scoreboard players set 5 commun_Constante 5 +scoreboard players set 6 commun_Constante 6 +scoreboard players set 7 commun_Constante 7 +scoreboard players set 8 commun_Constante 8 +scoreboard players set 9 commun_Constante 9 +scoreboard players set 10 commun_Constante 10 +scoreboard players set 11 commun_Constante 11 +scoreboard players set 12 commun_Constante 12 +scoreboard players set 13 commun_Constante 13 +scoreboard players set 14 commun_Constante 14 +scoreboard players set 15 commun_Constante 15 +scoreboard players set 16 commun_Constante 16 +scoreboard players set 17 commun_Constante 17 +scoreboard players set 18 commun_Constante 18 +scoreboard players set 19 commun_Constante 19 +scoreboard players set 20 commun_Constante 20 +scoreboard players set 21 commun_Constante 21 +scoreboard players set 22 commun_Constante 22 +scoreboard players set 23 commun_Constante 23 +scoreboard players set 24 commun_Constante 24 +scoreboard players set 25 commun_Constante 25 +scoreboard players set 26 commun_Constante 26 +scoreboard players set 27 commun_Constante 27 +scoreboard players set 28 commun_Constante 28 +scoreboard players set 29 commun_Constante 29 +scoreboard players set 30 commun_Constante 30 +scoreboard players set 31 commun_Constante 31 +scoreboard players set 32 commun_Constante 32 +scoreboard players set 33 commun_Constante 33 +scoreboard players set 34 commun_Constante 34 +scoreboard players set 35 commun_Constante 35 +scoreboard players set 36 commun_Constante 36 +scoreboard players set 37 commun_Constante 37 +scoreboard players set 38 commun_Constante 38 +scoreboard players set 39 commun_Constante 39 +scoreboard players set 40 commun_Constante 40 +scoreboard players set 41 commun_Constante 41 +scoreboard players set 42 commun_Constante 42 +scoreboard players set 43 commun_Constante 43 +scoreboard players set 44 commun_Constante 44 +scoreboard players set 45 commun_Constante 45 +scoreboard players set 46 commun_Constante 46 +scoreboard players set 47 commun_Constante 47 +scoreboard players set 48 commun_Constante 48 +scoreboard players set 49 commun_Constante 49 +scoreboard players set 50 commun_Constante 50 +scoreboard players set 51 commun_Constante 51 +scoreboard players set 52 commun_Constante 52 +scoreboard players set 53 commun_Constante 53 +scoreboard players set 54 commun_Constante 54 +scoreboard players set 55 commun_Constante 55 +scoreboard players set 56 commun_Constante 56 +scoreboard players set 57 commun_Constante 57 +scoreboard players set 58 commun_Constante 58 +scoreboard players set 59 commun_Constante 59 +scoreboard players set 60 commun_Constante 60 +scoreboard players set 61 commun_Constante 61 +scoreboard players set 62 commun_Constante 62 +scoreboard players set 63 commun_Constante 63 +scoreboard players set 64 commun_Constante 64 +scoreboard players set 65 commun_Constante 65 +scoreboard players set 66 commun_Constante 66 +scoreboard players set 67 commun_Constante 67 +scoreboard players set 68 commun_Constante 68 +scoreboard players set 69 commun_Constante 69 +scoreboard players set 70 commun_Constante 70 +scoreboard players set 71 commun_Constante 71 +scoreboard players set 72 commun_Constante 72 +scoreboard players set 73 commun_Constante 73 +scoreboard players set 74 commun_Constante 74 +scoreboard players set 75 commun_Constante 75 +scoreboard players set 76 commun_Constante 76 +scoreboard players set 77 commun_Constante 77 +scoreboard players set 78 commun_Constante 78 +scoreboard players set 79 commun_Constante 79 +scoreboard players set 80 commun_Constante 80 +scoreboard players set 81 commun_Constante 81 +scoreboard players set 82 commun_Constante 82 +scoreboard players set 83 commun_Constante 83 +scoreboard players set 84 commun_Constante 84 +scoreboard players set 85 commun_Constante 85 +scoreboard players set 86 commun_Constante 86 +scoreboard players set 87 commun_Constante 87 +scoreboard players set 88 commun_Constante 88 +scoreboard players set 89 commun_Constante 89 +scoreboard players set 90 commun_Constante 90 +scoreboard players set 91 commun_Constante 91 +scoreboard players set 92 commun_Constante 92 +scoreboard players set 93 commun_Constante 93 +scoreboard players set 94 commun_Constante 94 +scoreboard players set 95 commun_Constante 95 +scoreboard players set 96 commun_Constante 96 +scoreboard players set 97 commun_Constante 97 +scoreboard players set 98 commun_Constante 98 +scoreboard players set 99 commun_Constante 99 +scoreboard players set 100 commun_Constante 100 diff --git a/data/commun/functions/outils/invincibilite.mcfunction b/data/commun/functions/outils/invincibilite.mcfunction new file mode 100644 index 0000000..f58b2b1 --- /dev/null +++ b/data/commun/functions/outils/invincibilite.mcfunction @@ -0,0 +1,37 @@ +#======================================== +# Mode de déclenchement : + # Event + +# Déclencheurs : + # ---- + +# Fonction du fichier : + # Assure la protection totale aux joueurs qui appellent la fonction. + +# Tags utilisés : + # ---- +#======================================== + + + +# Rétablissement de la nourriture +execute unless entity @s[nbt={foodLevel:20}] run effect give @s saturation 1 255 true + +# Rétablissement de la vie +execute unless entity @s[nbt={Health:20.0f}] run effect give @s instant_health 1 225 true + +# Désactivation du pvp +execute at @s if entity @e[distance=0.001..10] run effect give @s weakness 1 255 true + +# Protection contre les dégats de chute +execute at @s if block ~ ~-2 ~ air run effect give @s jump_boost 1 255 true + +# Protection contre la noyade +execute unless entity @s[nbt={Air:300s}] run effect give @s water_breathing 1 255 true + +# Protection contre le feu +execute unless entity @s[nbt={Fire:-20s}] unless entity @s[nbt={Fire:0s}] run effect give @s fire_resistance 1 255 true + + +# "Fix" du conflit feu et chute +execute unless entity @s[nbt={Fire:-20s,Health:20.0f}] unless entity @s[nbt={Fire:0s}] at @s run tp ~ ~ ~ diff --git a/data/commun/functions/outils/uuid/attribution.mcfunction b/data/commun/functions/outils/uuid/attribution.mcfunction new file mode 100644 index 0000000..3d644f0 --- /dev/null +++ b/data/commun/functions/outils/uuid/attribution.mcfunction @@ -0,0 +1,20 @@ +#======================================== +# Mode de déclenchement : + # Event + +# Déclencheurs : + # commun:connexion/nouveau_joueur/trigger + +# Fonction du fichier : + # Attribue un UUID fixe au joueur appelé par cette fonction + +# Tags utilisés : + # ---- +#======================================== + + + +# Donne l'UUID au joueur et incrémente la variable de support + +scoreboard players operation @s commun_UUID = UUID commun_Variable +scoreboard players add UUID commun_Variable 1 diff --git a/data/commun/functions/scores.mcfunction b/data/commun/functions/scores.mcfunction new file mode 100644 index 0000000..f6e76fe --- /dev/null +++ b/data/commun/functions/scores.mcfunction @@ -0,0 +1,29 @@ + + + +# commun_Grade : Support des grades +scoreboard objectives add commun_Grade dummy + +# commun_Constante : Support des fakeplayers x ayant la valeur x +scoreboard objectives add commun_Constante dummy + +# commun_Variable : Support des fakeplayers dont la valeur est ammenée à changer +scoreboard objectives add commun_Variable dummy + +# commun_UUID : Support de l'UUID fixe des joueurs +scoreboard objectives add commun_UUID dummy + +# commun_TempsVecu : Compte le temps écoulé depuis la mort des joueurs +scoreboard objectives add commun_TempsVecu minecraft.custom:minecraft.time_since_death + +# commun_LeaveGame : Trigger pour la déconnexion du joueur +scoreboard objectives add commun_LeaveGame minecraft.custom:minecraft.leave_game + +# commun_TempsJeu : Compte le nombres de ticks que le joueur a passé sur le serveur +scoreboard objectives add commun_TempsJeu minecraft.custom:minecraft.play_one_minute + + + + +# commun_Mouvement : Support de l'information de si le joueur est actuellement en train de faire un déplacement quelconque +scoreboard objectives add commun_Mouvement dummy diff --git a/data/commun/functions/tags.mcfunction b/data/commun/functions/tags.mcfunction new file mode 100644 index 0000000..be3d1b0 --- /dev/null +++ b/data/commun/functions/tags.mcfunction @@ -0,0 +1,8 @@ + + + +# commun_ABesoinGrade : Détermine si le joueur est dans une situation où il doit avoir son "vrai" grade. + # ---- + +# commun_EstJoueurRandom : Est attribué le temps d'un tick afin de distinguer les joueurs staff&vip du reste. + # commun:grades/protection/verification \ No newline at end of file diff --git a/data/spawn/functions/boucle.mcfunction b/data/spawn/functions/boucle.mcfunction new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/data/spawn/functions/boucle.mcfunction @@ -0,0 +1 @@ + diff --git a/data/spawn/functions/initialisation.mcfunction b/data/spawn/functions/initialisation.mcfunction new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/data/spawn/functions/initialisation.mcfunction @@ -0,0 +1 @@ + diff --git a/data/spawn/functions/scores.mcfunction b/data/spawn/functions/scores.mcfunction new file mode 100644 index 0000000..288f067 --- /dev/null +++ b/data/spawn/functions/scores.mcfunction @@ -0,0 +1,2 @@ +# spawn_Menu : Supporte les informations relatives à la page du menu à afficher +scoreboard objectives add spawn_Menu dummy diff --git a/pack.mcmeta b/pack.mcmeta deleted file mode 100644 index 1102b79..0000000 --- a/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "pack_format": 1, - "description": "Datapack relatif au fonctionnement du serveur Aycraft" - } -}