@Zifiv Désolé de la lenteur de réponse
J'utilise de manière permanente ces trois commandes afin d'attribuer à chaque joueur un ID unique via un score :
Code (cpp):
scoreboard players operation @p[tag=!ID] ID = IDMax ID
execute @p[score_ID_min=1,tag=!ID] ~ ~ ~ scoreboard players add IDMax ID 1
scoreboard players tag @p[score_ID_min=1,tag=!ID] add ID
Tout joueur n'ayant pas le tag ID reçoit dans son objectif ID la valeur du même score du fakePlayer IDMax, puis il augmente le score du fakePlayer de 1 pour le joueur suivant et reçoit enfin le tag ID.
Le @p est important pour ne traiter qu'un joueur à la fois.
(Le score ID du fakeplayer IDMax est mis à 1 au lancement du module)
Lors de la création d'une dimension, un ArmorStand est summon au niveau de l'end Gateway et de nombreuse commandes sont exécutées sur lui. Celle concernant l'ID est celle-ci, elle donne le score ID du joueur le plus proche à l'ArmorStand :
Code (cpp):
execute @e[type=ArmorStand,name=Dimension,tag=!ID] ~ ~ ~ scoreboard players operation @e[type=ArmorStand,r=0,c=1] ID = @p ID
Alors oui il y a un risque la dimension se lie à un autre joueur dans le cas où deux seraient à cotés au moment de sa création, mais ça reste peu probable.
Les commandes pour vérifier le propriétaire sont les suivantes :
Code (cpp):
execute @e[type=ArmorStand,name=Dimension] ~ ~ ~ execute @a[r=2] ~ ~ ~ detect ~ ~ ~ minecraft:end_gateway -1 scoreboard players operation @p[r=0] Void = @e[type=ArmorStand,r=2,c=1,name=Dimension] ID
execute @a[score_Void_min=1] ~ ~ ~ scoreboard players operation @p[r=0] Void -= @p[r=0] ID
La première est un peu longue pour mettre quelques sécurités, mais en gros le joueur sur l'ArmorStand reçoit le score "ID" de celle-ci dans son score "Void", puis soustrait à son score "Void" son propre score "ID".
S'il a créé l'ArmorStand, sa valeur de "Void" est alors logiquement 0, ce que vérifie les autres commandes effectuant la téléportation.
Pour ce qui est de créer ces dimensions dans l'end, je doute fort de la réussite. Les TP se font pour l'instant en relatif par rapport à l'ArmorStand, hors il n'y a pas de relatif entre dimensions et il y aurait des problèmes pour les portails, ceux-ci n'emmenant pas où on le souhaite dans les dimensions, des ArmorStand ne seraient pas chargées.
Dans le module actuel, la création des ArmorStand dans l'end et le nether est d'ailleurs volontairement désactivée à cause des problèmes esthétiques que cela engendrerait dans les-dites dimensions.