Pioche qui mine en 5x5
-
Sachant que c’est extends ItemPickaxe oui.
-
Ton code permet de détruire la bedrock non ?
-
Ah oui j’ai oublié de vérifier que la résistance est supérieur ou égal à 0.
-
Tu peux le rajouter s’il te plait
-
il faut juste ajouter if(world.getBlock(x + x1, y + y1, z + z1).getHardness() >= 0.0F) avant 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)); et world.setBlockToAir(x + x1, y + y1, z + z1);
-
Fonctionne pas erreur su getHardness il me dit The method getHardness() is undefined for the type Block
-
Dis-moi que t’as cherché un peu et que je ne vais pas aller voir pour rien
EDIT :
Ah bah si, tu n’as pas cherché :
Block.javapublic float getBlockHardness(World world, int x, int y, int z) { return this.blockHardness; } -
excuse moi
en plus je l’avait fait -
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.