CommandBlock Résolu Détecter jour/nuit sans capteur solaire (commande only)

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Hello bande de geek ! J'ai besoin de vous !

Je cherche à détecter les passages jour/nuit ET/OU avoir un indicateur de l'heure actuelle dans minecraft (allant de 0 à 12000 pour le jour, et 12001 à 24000 pour la nuit). Facile via solar pannel.
Oui mais. Je souhaite avoir cette information via command (scoreboard autorisé), sans aucune intervention de redstone.

Mon but est de pouvoir déclencher des triggers sur la base de cette info. Du genre
Code:
/effect @a[score_timeticks=8500] minecraft:regeneration 1 0 true

Possible ?
 
Dernière édition:

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Hey !
C'est très simple, il suffit de combiner la commande /time et le /stats ! ^^
Déjà, récupérer le temps en tick :
Code:
/time query daytime
Puis dans le command block du dessus, on récupère le résultat que l'on place dans un scoreboard :
Code:
/stats block ~ ~-1 ~ set QueryResult [Joueur] [Objectif]
N'oublie pas d'initialiser ton scoreboard et ton score au préalable ;)
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Hehe. J'ajoute une contrainte (...oui j'ai oublié de préciser...) : je ne souhaite passer que par un fichier.mcfunction !

Est-il possible de le récupérer sans passer par un score ?
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Bien sûr !
De cette façon :
Code:
/execute @s ~ ~ ~ time query daytime
Code:
/stats entity @s set QueryResult [Joueur] [Objectif]
De cette façon, tu récupères le résultat sur le joueur et non plus sur un bloc ;)
 
  • J'aime
Reactions: FunkyToc

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Non, il est assez vieux, mais malheureusement trop peu utilisé ^^
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
UP ! C'est nickel, comme d'hab ! Merci.

L'init du scoreboard :
Code:
/scoreboards objectives add Timestamp dummy

Ayant une problématique serveur, j'ai ajouter un trigger (de zone) pour que le joueur "set" lui même une première fois l'objectif requis.
Code:
/execute @p[x=100,y=60,z=100,dx=3,dy=1,dz=3] ~ ~ ~ scoreboard players set @s Timestamp 0

Et la fameuse boucle qui update le tout. (Le timestamp étant le même pour tous, le resultat est pousser sur TOUS les joueurs -> @a)
Code:
/execute @p ~ ~ ~ time query daytime
/execute @p ~ ~ ~ stats entity @s set QueryResult @a Timestamp
 
Dernière édition:

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Hey !
Je suppose que c'est cela :
Code:
/execute store result score Time Time run time query
Bon, la commande est rédigé de tête, donc il est possible qu'il y ait une petite erreur de syntaxe mais ça devrait se rapprocher de ça x')
 
  • J'aime
Reactions: FunkyToc