3 votes

Détection de la dimension dans laquelle se trouve un joueur

Je veux vérifier la dimension actuelle d'un joueur à l'aide d'un tableau d'affichage. Par exemple, si un joueur est dans l'overworld, scoreboard serait fixé à 1. Nether serait à 2. Et la Fin serait à 3.

J'ai essayé execute if entity @a in minecraft:the_nether mais cela modifie en fait la dimension de la coordonnée.

Connaissez-vous un moyen de détecter la dimension actuelle d'un joueur ?

3voto

Fabian Röling Points 19325

Il est enregistré dans NBT. Citation de la Wiki Minecraft ( archives ) :

Dimension : La dimension dans laquelle se trouve le joueur. -1 est le Bas-Fond, 0 est l'Outre-Monde, 1 est la Fin.


Vous pouvez également utiliser /execute in mais vérifie également si le rayon est égal ou supérieur à 0 (ce qui semble inutile, mais peut être utilisé pour vérifier les dimensions) :

/execute in the_nether if entity @a[distance=0..] run …

Ceci s'exécute s'il y a un joueur dans le Nether.


Il existe également un déclencheur d'avancement appelé " changed_dimension " ( archives ) qui peuvent être utilisés pour détecter un changement dans une dimension spécifique et déclencher quelque chose à ce moment-là. Vous pouvez également utiliser la fonction dimension dans le champ location déclencher ( archives ).

1voto

sourrabbit Points 316
execute store result score @s dimension run data get entity @s Dimension

Cela permet de définir la valeur du tableau d'affichage en fonction de la longueur de la chaîne de dimension de l'entité.

20 - "Minecraft:the_nether", 19 - "Minecraft:overworld", 17 - "Minecraft:the_end"

Vous pouvez soit faire en sorte que vos fonctions gèrent les dimensions à la place de ces nombres, soit les convertir.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X