16 votes

Y a-t-il un moyen de ralentir le cycle Jour/Nuit?

Alors qu'il existe une commande que vous pouvez utiliser pour définir l'heure, le problème est qu'il faudrait se rappeler de l'utiliser lorsqu'il se fait tard pour la remettre à l'heure.

Je cherche un moyen de ralentir le cycle jour/nuit pour ajouter un peu plus de danger au jeu lorsque je me retrouve pris dehors la nuit sans abri ni lit, et aussi pour avoir plus de lumière du jour lorsque je construis sans avoir à m'inquiéter des Creepers qui font tout sauter et plus de nuit pour voir si j'ai suffisamment de lumières autour.

20voto

seedofc Points 78

En utilisant des blocs de commandes et un peu de redstone, cela peut être réalisé.

Tout d'abord, vous devez définir /gamerule doDaylightCycle sur false, pour arrêter le cycle naturel du jour. À partir de là, nous allons utiliser des blocs de commandes (/give command_block), de la redstone, et la commande /time add pour contrôler le cycle du jour.

Voici un dispositif très simple et assez facile à régler :

Une horloge à entonnoir incrémente le temps de 1 (sur 24 000) à chaque intervalle donné

La commande sur le bloc de commande est /time add , réglée comme vous le souhaitez (1 objet dans l'horloge avec un incrément de 5 donne une journée de 28 minutes). Il n'y a pas de redstone cachée, et les deux pistons sont collants. Les entonnoirs se nourrissent mutuellement, et vous choisissez le nombre d'objets mis dedans (plus il y a d'objets, plus le cycle jour/nuit est lent).

La formule pour calculer la durée du jour est de 140 * (objets / chiffre) minutes de jour (doublez ce chiffre pour la durée d'une journée entière).

Vous allez également vouloir utiliser la commande /gamerule commandBlockOutput false si vous ne voulez pas de mises à jour périodiques dans le chat disant Ajout de 1 au temps.

Vous allez également vouloir placer ceci dans votre chunk de spawn si vous voulez que cela fonctionne peu importe où vous êtes dans le monde (déterminez votre chunk de spawn en cassant votre lit et en vous tuant).

5voto

Billy Mailman Points 16969

Il n'y a aucun moyen de le faire directement dans Vanilla Minecraft, non. Vous pourriez peut-être trouver un mod pour le faire, ou vous pouvez probablement bricoler quelque chose avec des blocs de commandes. En particulier, si vous connectez un circuit pour envoyer une impulsion de redstone alternativement dans l'un des deux blocs de commandes, avec les commandes

gamerule doDaylightCycle vrai
gamerule doDaylightCycle faux

Alors ils activeront alternativement le code qui fait avancer le cycle jour/nuit. Utilisez quelques répéteurs pour contrôler la durée de la pause entre leur activation, et vous devriez pouvoir contrôler le taux assez précisément, mais cela ne fonctionnera que tant que le chunk contenant l'ensemble du dispositif reste chargé ; si vous vous éloignez trop, le temps redeviendra normal.

4voto

MrLemon Points 17073

Cela peut également être réalisé en utilisant uniquement des blocs de commandes (car le redstone est une machine de lag diabolique), idéalement en utilisant les nouveaux blocs de commandes de la version 1.9.

Tout d'abord, définissez les règles du jeu commandBlockOutput et doDaylightCycle sur false pour désactiver le spam des blocs de commande et le cycle naturel du jour. Nous aurons également besoin d'un objectif pour stocker un minuteur.

/scoreboard objectives add TIMER dummy

1.9

Ensuite, placez un bloc de commande en mode répétition et trois blocs de commande en chaîne en ligne. Définissez les deux derniers comme "conditionnels" et mettez les commandes suivantes:

/scoreboard players add #TIMER TIMER 1
/scoreboard players test #TIMER TIMER 
/time add 
/scoreboard players set #TIMER TIMER 0

#TIMER est un joueur inexistant (le # rend le nom illégal pour de vrais joueurs) qui compte les ticks pour nous.

Remplacez et par des nombres appropriés. Le temps avancera à une vitesse de / la vitesse normale. Essayez d'utiliser des nombres faibles, sinon le temps "bégayera" car il n'avance que tous les ticks.


1.8

Émuler les blocs de commandes conditionnels de la version 1.9 en 1.8 sans utiliser de redstone n'est pas trivial (mais faisable). Par conséquent, l'utilisation de /scoreboard players test ne fonctionnera pas.

Nous pouvons utiliser /execute à la place, mais cela ne fonctionnera pas sur un joueur inexistant car ce ne sont pas des entités. Nous pouvons utiliser un armorstand invisible à la place:

/summon ArmorStand ~ ~ ~ {CustomName:"#TIMER",Marker:1b,Invisible:1b}

Créez une horloge de remplissage et placez les trois commandes suivantes:

/scoreboard players add @e[type=ArmorStand,name=#TIMER] TIMER 1
/execute @e[type=ArmorStand,name=#TIMER,score_TIMER=0] ~ ~ ~ /time add 
/scoreboard players set @e[type=ArmorStand,name=#TIMER,score_TIMER_min=] TIMER 0

Comme précédemment, définissez et en conséquence.

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