Je travaille sur un truc de maladie, et je dois faire en sorte qu'il vérifie si un joueur a mangé de la chair pourrie, puis qu'il lui donne une faim infinie.
Réponse
Trop de publicités?C'est très facile avec les tableaux d'affichage. Jetez un coup d'œil à ma réponse pour empêcher quelqu'un d'utiliser une épée de diamant . Le concept est pratiquement identique, en particulier la méthode pré-1.8 que j'ai décrite. C'est pourquoi je n'entrerai pas dans les détails ici.
Tout d'abord, mettez en place un objectif de tableau de bord pour savoir quand quelqu'un mange de la chair pourrie :
/scoreboard objectives add AteRottenFlesh stat.useItem.minecraft.rotten_flesh
Ensuite, vous avez besoin de deux blocs de commande, l'un qui provoquera la faim et l'autre qui réinitialisera l'objectif du tableau d'affichage :
effect @a[score_AteRottenFlesh_min=1] minecraft:hunger 1000000 1
scoreboard players set @a[score_AteRottenFlesh_min=1] AteRottenFlesh 0
Lancez ces deux commandes sur une horloge de redstone, en vous assurant que l'effet s'exécutera en premier, et vous avez pratiquement terminé.
C'est pourquoi j'ai utilisé le temps maximum (un million de secondes, soit un peu mieux que 11,5 jours). Vous pouvez faire en sorte qu'il soit toujours réappliqué simplement en ne lançant pas le bloc de commande du tableau d'affichage.
Vous pouvez également augmenter la puissance de la faim (le dernier chiffre de la commande d'effet). Il est par défaut à 0, je l'ai mis à 1, mais j'ai trouvé que la faim d'une personne ne diminuait toujours pas très vite. Un joueur peut facilement satisfaire sa faim en mangeant de la chair pourrie, mais à des niveaux plus élevés, il aurait besoin de steaks ou de beaucoup de gâteaux.