Résolu Détecter un four allumé dans un rayon autour d'un joueur

Qui marche et au plus simple pour le moment, 2 command_blocks :
Code:
cmd_block(repeat,always_active) :
/testforblock 19 21 5023 minecraft:lit_furnace -1
cmd_block(chain,conditional,always_active) :
/scoreboard players add @a[score_second_min=1,x=19,y=21,z=5023,r=10] chaleur 1

Mais cela demande de connaitre les coordonnées ! Et j'aimerai m'en débarrasser !
 
Code:
/execute @e[type=ArmorStand,name=Four] ~ ~ ~ detect ~ ~-1 ~ lit_furnace -1 scoreboard players add @a[r=10] chaleur 1
L'ArmorStand va détecter si le four sous lui est allumé puis, si c'est le cas, donner le score à tout joueur dans un rayon de 10 blocs, c'est ce que tu cherchais ? :)
 
Code:
/execute @e[type=ArmorStand,name=Four] ~ ~ ~ detect ~ ~-1 ~ lit_furnace -1 scoreboard players add @a[r=10] chaleur 1
L'ArmorStand va détecter si le four sous lui est allumé puis, si c'est le cas, donner le score à tout joueur dans un rayon de 10 blocs, c'est ce que tu cherchais ? :)

Exact, mais tu décales le problème en fait, qui est que tu dois repérer chaque four posé normalement par n'importe qui n'importe où.
Dans ta solution, il faut encore mettre l'ArmorStand sur chaque four.
 
Bon, théoriquement, ce n'est pas possible, peux-tu détailler un peu plus le principe ? Si c'est le joueur qui pose le four, il y t-il un nombre maximum de four ?
 
Bonjour,

Serait-il acceptable pour toi d'obliger tes joueurs lorsqu'ils souhaitent se réchauffer, à utiliser un four allumé d'une façon spéciale et non en y insérant le charbon comme habituellement ?

Par exemple, uniquement lorsqu'ils jettent le charbon dessus ?

Ainsi ca te permettrait d'utiliser la commande d'Oromis, car possibilité d'invoquer son ArmorStand par le biais du charbon qui aura été jeté sur le four et auquel tu auras donné un TAG (via un execute aux joueurs s'étant vu incrémenter le score de min1 à l'objectif de type stat.drop.minecraft.coal que tu auras précédemment créé).

Ce dernier pourra également être automatiquement transformé en combustible dans le four via un execute blockdata, sans avoir besoin de mettre de la nourriture pour allumer ce dernier (Penser ensuite à supprimer le charbon se trouvant sur le four).

Tu n'auras plus alors qu'à executer continuellement un detect à partir de l'ArmorStand concerné, permettant de le kill dès que le four est éteint.


Je sais que ce n'est pas ce que tu veux exactement, mais je pense que c'est une bonne solution d'arriver à tes fins, de façon automatique, et pas nécessairement génératrice de lag.

Résumé:

1) création objectif de type stat.drop.minecraft.coal (pour détecter uniquement les joueurs qui ont jeté du charbon et non un autre item).

2) execute aux joueurs s'étant vu incrémenter le score de min 1 à cet objectif, l'ajout d'un TAG à l'item de charbon se trouvant à ses alentours [r=6] devrait suffire.

3) faire un execute à ce charbon permettant de détecter si il est sur un four, et si la commande est vrai, invoquer l'ArmorStand d'Oromis.

4) insérer le charbon tagué dans le four via un execute /blockdata du four se trouvant sous lui, permettant de le transformer directement en combustible pour allumer le four le temps souhaité sans avoir besoin de mettre d'item à cuire.

5) suprimer le charbon tagué via un execute /kill

6) utiliser l'ArmorStand pour réchauffer les joueurs tant que le four est allumé, et dès que ce dernier est éteint, kill l'ArmorStand (execute à cet ArmorStand un /detect four éteint, qui enclenchera son /kill dès que la commande sera vrai).

En espérant n'avoir rien oublié et que ça te permettra de mettre en place ton idée qui je l'avoue est assez sympathique :)
 
Dernière édition:
Effectivement, je pense pas qu'on puisse optimiser d'avantage la technique de PneuX en termes d'automatismes.

:merci Merci a tous pour vos idées et votre participation ! C'est super, je vais étudier tout ca :fou:
 
Dernière édition:
  • J'aime
Reactions: PneuX