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

FunkyToc

Map Baker
26 Mars 2013
511
112
155
34
France, Paris
funkytoc.fr
Bonjour,

J'ai une épine dans le pieds, et je compte sur vous pour m'en débarrasser ! :mobpig:

Je souhaite détecter si un block est présent dans un rayon autour du joueur.

Vu la demande, je pense qu'il n'y a qu'un /execute pour gérer cela, mais le rayon est problématique. Une idée ?
Code:
 /execute @a ~ ~ ~ detect ~ ~ ~ minecraft:furnace 0 say hi
Peut-on caler un rayon quelques part pour la détection ? Le but est de me débarrasser des coordonnées x y z restrictives.
 
C'est impossible, la carte Kiwi ne te sauvera pas. Tu peux seulement faire plein d'executes.
Après, y'a des moyens de tricher, explique ce que tu veux faire exactement.
 
La finalité de mon code est de modifier un scoreboards seulement si le joueur est a proximité (dans un rayon) d'un block. Idéalement, j'aurai demandé au four de bien vouloir gérer le scorebord, mais il veut pas :fou:
Code:
 /execute @a ~ ~ ~ detect 0 60 0 minecraft:furnace -1 scoreboards add @a[x=0,y=60,z=0,r=5] SCORE 1
Le problème de cette ligne, c'est qu'elle impose d'avoir les coordonnées xyz...
 
Mets une armor stand invisible sur tes fours :
/summon ArmorStand ~ ~ ~ {CustomName:four,Invisible:1b}
Donne-leur un custom name comme ici pour ne pas mélanger tes armor stands avec d'autres que tu utilises peut-être dans ta map.

Puis avec un command block en repeat tu mets :
execute @e[type=ArmorStand,name=four] ~ ~ ~ testfor @a[r=10]

Pour finir, tu places un comparateur en sortie qui s'activera au passage d'une personne dans la zone. J'ai testé et ça fonctionne.
 
Ton four, il peut donc être n'importe où sur la carte ?
Exactement !


/summon ArmorStand ~ ~ ~ {CustomName:four,Invisible:1b}
execute @e[type=ArmorStand,name=four] ~ ~ ~ testfor @a[r=10]
J'avais pas du tout pensé à ça, ça pourrai marcher ! Mais si je précise un peu plus mon problème : je dois détecter quand le four est en marche (donc passe en minecraft:lit_furnace). Et seulement quand le four est allumé, incrémenter le scoreboard des joueur présent dans le rayon du four.

Mon four est une cheminée qui réchauffe les joueurs présent dans un rayon, seulement si le four est allumé !