Pioche qui mine en 5x5
-
Il vient de te donner la solution, tu utilisais une mauvaise fonction (car robin n’a pas tout en tête).
Tu dois donc utiliser getBlockHardness() au lieu de getHardness()(Tu devrais te montrer plus reconnaissant, les gens ici ne te doivent rien et prennent sur leur temps pour t’aider. Si tu n’es pas satisfait -te montre ingrat - tu pourrais très bien ne plus recevoir d’aide)
-
Je t’ai donné la fonction qu’il fallait utiliser, avec les arguments, tu veux quoi de plus ? Ça ?
public class ItemPickaxeCustom extends ItemPickaxe { protected ItemPickaxeCustom(ToolMaterial tool) { super(tool); } public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living) { if(living instanceof EntityPlayer) { for(int x1 = -2; x1 < 3; x1++) { for(int y1 = -2; y1 < 3; y1++) { for(int z1 = -2; z1 < 3; z1++) { if(world.getBlock(x + x1, y + y1, z + z1).getBlockHardness(world, x + x1, y + y1, z + z1) >= 0) { world.getBlock(x + x1, y + y1, z + z1).harvestBlock(world, (EntityPlayer)living, x + x1, y + y1, z + z1, world.getBlockMetadata(x + x1, y + y1, z + z1)); world.setBlockToAir(x + x1, y + y1, z + z1); } } } } } return super.onBlockDestroyed(stack, world, block, x, y, z, living); } } -
Non c’est bon excuse moi c’est juste que j’etais fatiguer et que je ne trouvais pas mais j’avais trouvé et je m’excuse vraiment car je sait que si tu voulais tu ne m’aurais pas aidez et quand je relie ma phrase j’ai étais asser méchant au lieu de demander gentiment
-
Mais j’ai encore un probléme
le code que tu ma fait robin casse en profondeur de 3 sa fait L 5 l 5 P 3 et du coups je peux faire comment car j’ai essayer de modiffier quelque truc et sa na pas donné grand chose -
Tu es sûr ?
Car le code fait bien un cube de 5x5 dont le bloc cassé est le centre. -
Effectivement, si tu casses un bloc du sol, ça va faire 3 de profondeur dans le sol, mais ça va aussi casser les bloc qui sont 2 couches au dessus du sol, donc 5x5x5
-
mais je veux du 5X5X1 s’il vous plaît je dois modifier quoi ?
-
Là c’est plus compliqué car en 1.7.10, la fonction onBlockDestroyed ne donne pas la face sur laquelle on casse le bloc. Soit tu arrives à récupérer la face sur laquelle le joueur casse le bloc, soit tu fais en fonction de la direction où il regarde (sud, est, nord, ouest)
-
Tu n’a pas comprits attends je vais faire un truc je revien
-
5x5x1 c’est largeur longueur profondeur ?
-
en faite je veux que sa mine 5 de hauter, 5 de largeur puis 1 de profondeur mais la sa me fait 5 de hauteur 5 de largeur mais 3de profondeur
-
Donc broken a bien comprit ce que tu veux.
Pour faire ce que tu veux il faut adapter la boucle x et la boucle z en fonction de l’angle du joueur. -
Comment je peux faire sa ?
-
Tu t’y connais un peu en algorithmes ? Parce que ce n’est pas si compliqué que ça à partir du moment où tu as compris fonctionne le code.
Etapes- Avoir compris comment fonctionne le code que t’as donné robin
- Savoir où trouver l’instance du joueur (très facile)
- Réussir, en cherchant (pas trop quand même, c’est simple), à trouver la direction dans laquelle le joueur regarde (indice: regarder en anglais, c’est look)
- Déduire grâce à ce vecteur (oh, un autre indice) si le joueur regarde sur l’axe haut/bas, nord/sud, est/ouest (aïe, je t’ai perdu)
- Adapter les boucles pour avoir l’effet voulu, là je t’aiderai peut-être un peu
Voilà
-
et comment je peux faire pour que sa ne casse pas l’obsidienne et la terre
-
Tu check à chaque fois si le bloc n’est pas de l’obsidienne, ni de la terre ….
-
je fait sa comment ??
-
T’as déjà réussi à faire qu’elle mine sur 5x5 ?
-
bah elle mine en 5x5
-
C’est quoi ton code actuellement ?