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

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
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 !
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
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 ? :)
 

Gaël Erhlich

Installateur de radiateurs
21 Décembre 2014
1 544
382
217
Ici-même
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.
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
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 ?
 

PneuX

Architecte en herbe
3 Janvier 2015
134
45
140
rediscovercraft.eu
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:

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
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