Me voici !
Donc voilà ce que je propose. À savoir que ce système fonctionne seulement pour un seul type de nourritures, tu devras donc faire la même chose pour les autres en changeant le tag (tu lui donnes le nom que tu veux) et l'objet à clear.
Pour commencer, tu donnes un tag que j'ai nommé "cow" à tout joueur possédant l'item "beef" (steak crue) sur lui :
Code:
/scoreboard players tag @a add cow {Inventory:[{id:"minecraft:beef"}]}
Ce command block est en repeat, need redstone.
Ensuite, tu clear un steak de l'inventaire des joueurs possédant le tag :
Code:
/clear @a[tag=cow] beef 0 1
Afin de leur donner une rotten flesh :
Code:
/give @a[tag=cow] rotten_flesh 1 0
Il ne reste plus que le coupe circuit/le reset retirant le tag en question :
Code:
/scoreboard players tag @a remove cow
Voilà ^^
Si le joueur a plus d'un steak, le système se bouclera jusqu'à ce qu'il en est plus ! ^^
Pour l'activer toute les 20h (heure IG), il suffit de faire un peu de maths :
Nous savons qu'une journée dans Minecraft dure 20 minutes, que le temps IG est compté en Minecraft Ticks et que 1 seconde correspond à 20 ticks.
Donc une journée Minecraft correspond à 20*60*20 ticks soit 24000 ticks.
Une journée IRL correspond à 24h00, on peut donc en déduire qu'une heure IRL vaut 1000 ticks IG.
Or, une journée Minecraft commence au levé du soleil donc 6h00 et non à minuit donc on sait que 6h00 du matin correspond à 0 tick (ou 24000, tout dépend du sens).
20 - 6 = 14 et 14 * 1000 (1 heure IG) vaut 14000.
Donc 20h00 IG correspond à 14000 ticks.
Maintenant, il faut pouvoir détecter cette heure-ci, pour cela, nous allons utiliser la commande /stats.
Pour commencer, créer un objectif que l'on va appeler "Time" en dummy :
Code:
/scoreboard objectif add Time dummy
Puis initialise un score sur un faux joueur :
Code:
/scoreboard players set time Time 0
Ensuite, pose un command block en repeat, always active et place cette commande dedans :
Elle va nous permettre de récupérer le nombre de ticks passer depuis le début de la journée.
Place à la suite un command block chain dans lequel nous allons placer notre /stats :
Code:
/stats block x y z set QueryResult time Time
x y et z sont les coordonnées du command block contenant notre /time.
Cette commande va nous permettre de stocker les ticks dans un score, et donc pouvoir les tester !
Maintenant, dernière étape, c'est de tester notre score :
Code:
/scoreboard players test time Time 14000 14500
14000 et 14500 sont une borne de détection, le command block activera le reste de la chain si le nombre de ticks est compris entre ces deux chiffres (je prend une marge de sécurité en cas de lag serveur, c'est pour ça que l'intervalle est grand)
Puis l'ouput activant ton système de rotten flesh :
Code:
/setblock x y z redstone_block
x y et z étant les coordonnées d'un bloc limitrophe à ton tout premier command block violet.
Dernière étape, le reset du système, dans un command block violet :
Code:
/scoreboard players test time Time 15000 15500
Puis dans un chain, à la suite :
Où x y et z sont les même coordonnées que pour déclencher ton système.
Voilà, c'est tout ! ^^
Tu n'as besoin de faire qu'une seule fois la seconde partie du système, mais la première, tu devras la faire autant de fois que tu as de viande crue à supprimer ^^