1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Testfor d'un joueur touchant un bloc

Discussion dans 'Mapping' créé par darkface, 24 Juil 2014.

Statut de la discussion:
N'est pas ouverte pour d'autres réponses.
  1. darkface

    darkface Enter the World

    Inscrit:
    7 Juil 2014
    Messages:
    36
    Points:
    23
    Sexe:
    Homme
    Bonjour/bonsoir a tous :)

    J'aimerais savoir si il est possible , comme vu l'aurez lu dans le titre , de faire un testfor d'un joueur touchant un bloc . je m'explique :

    Un peu comme mario : Quand il saute sur un brique elle se casse , et ca lui donne un objet . Ce que je voudrais , c'est que peu importe d'ou il le touche , ca donne quelque chose ... ou qu'il explose :) Je précise que je recherche des commandes plutot pour la version 1.7.10 , mais si il en existe ne 1.8 je les prend aussi :)

    Merci d'avance
     
  2. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    En 1.7, tu as la solution suivante:
    /testfor @a[x=,y=,z=,r=1] avec x, y et z les coordonnées du bloc qui doit réagir.
    C'est bien, ça marche, mais faut un testfor pour chaque bloc.

    En 1.8, y a d'autres solution, mais c'est pas spécialement plus simple.
    Ça va ressembler à ça:
    /execute @a ~ ~ ~ detect x y z minecraft:bloc 0 <commande>
    Le x, y et z, les coordonnées du bloc à regarder. En mettant des tildes, on regarde de manière relative au joueur. Juste après, le nom du bloc qui doit faire réagir suivi de sa data value (0 ici) et enfin la commande a exécuter.
    Par exemple, pour détruire un bloc de brique qui se situerait au dessus de notre tête:
    /execute @a ~ ~ ~ detect ~ ~2 ~ brick_block 0 setblock ~ ~2 ~ air 0 destroy
    Si tu veux que ça marche dans toutes les directions, il te faut un /execute detect pour chaque direction.
     
    • Utile Utile x 1
  3. darkface

    darkface Enter the World

    Inscrit:
    7 Juil 2014
    Messages:
    36
    Points:
    23
    Sexe:
    Homme
    D'accord merci beaucoup :) Je voulais te poser une question aussi , Comment peux on faire pour pourvoir casser un bloc spécifique avec un item spécifique ? (je fais allusion à la pioche en or qui casse la matière noire dans Mizzle 2 :p )
     
  4. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Ça marche uniquement en mode aventure (/gamemode adventure @a)
    Il faut ajouter à l'objet un tag "CanDestroy". Je te donne l'exemple pour la pioche améliorée:
    Code (cpp):
    /give @p minecraft:golden_pickaxe 1 0 {CanDestroy:["minecraft:coal_block","minecraft:redstone_block"]}
    La commande complète que j'utilise:
    Code (cpp):
    give @p minecraft:golden_pickaxe 1 0 {ench:[{id:32,lvl:3}],HideFlags:7,Unbreakable:1,CanDestroy:["minecraft:coal_block","minecraft:redstone_block"]}
    Pour les blocs/objets pouvant être placé/utilisé sur des blocs spécifiques, le tag s'appelle CanPlaceOn et fonctionne de la même manière.
     
  5. darkface

    darkface Enter the World

    Inscrit:
    7 Juil 2014
    Messages:
    36
    Points:
    23
    Sexe:
    Homme
    D'accord double merci :)
     
  6. Gitamox

    Gitamox Nouveau

    Inscrit:
    6 Août 2017
    Messages:
    1
    Points:
    0
    Sexe:
    Homme
    En 1.8, y a d'autres solution, mais c'est pas spécialement plus simple.
    Ça va ressembler à ça:
    /execute @a ~ ~ ~ detect x y z minecraft:bloc 0 <commande>
    Le x, y et z, les coordonnées du bloc à regarder. En mettant des tildes, on regarde de manière relative au joueur. Juste après, le nom du bloc qui doit faire réagir suivi de sa data value (0 ici) et enfin la commande a exécuter.


    Cela marche t'il en 1.12 ou pas car pour ma map parcours je voudrais faire checkpoint sur un block d'or: voici ma commande.
    /execute @a ~ ~ ~ detect 10 13 30 minecraft:gold_block 29 /spawnpoint @a
     
    #6 Gitamox, 6 Août 2017
    Dernière édition: 6 Août 2017
  7. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    @Gitamox merci de ne pas remonter les vieux topics, la dernière réponse date de 3 ans...
    Je lock.
     
Statut de la discussion:
N'est pas ouverte pour d'autres réponses.

Partager cette page