MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Probleme résolu + explication a bush à XP

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    118 Messages 5 Publieurs 16.3k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • BrokenSwingB Hors-ligne
      BrokenSwing Moddeurs confirmés Rédacteurs
      dernière édition par

      Je n’ai pas de code près pour toi, désolé mais on va y aller par étape.
      Premièrement on va oublier l’histoire de direction, on va faire deux boucles qui parcours les 9 blocs et qui les détruient

      
      @Override
      public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) {
      
      for(int i = -1; i <= 1; i++) {
      for(int k = -1; k <= 1; k++) {
      Block b = world.getBlock(i, y, k);
      int meta = world.getBlockMetadata(i, y, k);
      if(this.canHarvestBlock(block, stack) && stack.getItemDamage() > 0) {
      world.setBlockToAir(i, y, k);
      EntityItem item = new EntityItem(world, i, y, k, new ItemStack(b, 1, meta));
      world.spawnEntityInWorld(item);
      stack.damageItem(i, entity);
      }
      }
      }
      return true;
      }
      
      

      Ce code devrait détruire les blocs dans une zone de 3x3 sur le sol (je l’espère)

      1 réponse Dernière réponse Répondre Citer 0
      • YukiShuY Hors-ligne
        YukiShu
        dernière édition par

        Et non ça ne fait rien juste comme une pioche de base…

        1 réponse Dernière réponse Répondre Citer 0
        • BrokenSwingB Hors-ligne
          BrokenSwing Moddeurs confirmés Rédacteurs
          dernière édition par

          Essai d’enlever la condition if(this.canHarvestBlock(block, stack) && stack.getItemDamage() > 0) et si ça marche essai et mettant seulement canHarvest

          1 réponse Dernière réponse Répondre Citer 0
          • YukiShuY Hors-ligne
            YukiShu
            dernière édition par

            Aucune des 2 solutions que tu me propose ne marche 😞

            1 réponse Dernière réponse Répondre Citer 0
            • AymericRedA Hors-ligne
              AymericRed
              dernière édition par

              Ce n’est pas normal, ça devrait marcher, mets des System.out.println(“Quelque chose”); un peu partout dans la fonction et vérifies que ça s’affiche dans les consoles, en double à chaque fois (une fois avec [Client thread/INFO] et une autre fois avec [Server thread/INFO], si il y en a qui manquent dis lesquels.

              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

              1 réponse Dernière réponse Répondre Citer 0
              • BrokenSwingB Hors-ligne
                BrokenSwing Moddeurs confirmés Rédacteurs
                dernière édition par

                Je vais tester de mon côté

                1 réponse Dernière réponse Répondre Citer 0
                • YukiShuY Hors-ligne
                  YukiShu
                  dernière édition par

                  Par contre la je n’arrive pas a suivre 😄

                  1 réponse Dernière réponse Répondre Citer 0
                  • BrokenSwingB Hors-ligne
                    BrokenSwing Moddeurs confirmés Rédacteurs
                    dernière édition par

                    Perso j’ai un problème avec l’EntityItem, je vais régler ça

                    1 réponse Dernière réponse Répondre Citer 0
                    • YukiShuY Hors-ligne
                      YukiShu
                      dernière édition par

                      J’ai aucune erreur dans la console et le hammer a le meme comportement qu’une pioche

                      1 réponse Dernière réponse Répondre Citer 0
                      • BrokenSwingB Hors-ligne
                        BrokenSwing Moddeurs confirmés Rédacteurs
                        dernière édition par

                        Je sais … OMG

                        
                        public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) {
                        
                        for(int i = -1; i <= 1; i++) {
                        for(int k = -1; k <= 1; k++) {
                        Block b = world.getBlock(x + i, y, z + k);
                        int meta = world.getBlockMetadata(x + i, y, z + k);
                        if(stack.getItemDamage() > 0) {
                        world.setBlockToAir(x + i, y, z + k);
                        EntityItem item = new EntityItem(world, x + i, y, z + k, new ItemStack(b, 1, meta));
                        world.spawnEntityInWorld(item);
                        stack.damageItem(i, entity);
                        }
                        }
                        }
                        return true;
                        }
                        
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • YukiShuY Hors-ligne
                          YukiShu
                          dernière édition par

                          Je vais essayer en tout cas merci les gars 😄

                          EDIT : Marche toujours pas

                          1 réponse Dernière réponse Répondre Citer 0
                          • BrokenSwingB Hors-ligne
                            BrokenSwing Moddeurs confirmés Rédacteurs
                            dernière édition par

                            Fait ça ```java
                            public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) {

                            for(int i = -1; i <= 1; i++) {
                            for(int k = -1; k <= 1; k++) {
                            System.out.println(Math.addExact(x, i) + " " + y + " " + Math.addExact(z, k));
                            Block b = world.getBlock(x + i, y, z + k);
                            int meta = world.getBlockMetadata(x + i, y, z + k);
                            System.out.println(stack.getItemDamage());
                            if(stack.getItemDamage() > 0) {
                            System.out.println("Breaking " + b.getLocalizedName());
                            world.setBlockToAir(x + i, y, z + k);
                            EntityItem item = new EntityItem(world, x + i, y, z + k, new ItemStack(b, 1, meta));
                            world.spawnEntityInWorld(item);
                            stack.damageItem(i, entity);
                            }
                            }
                            }
                            return true;
                            }

                            1 réponse Dernière réponse Répondre Citer 0
                            • YukiShuY Hors-ligne
                              YukiShu
                              dernière édition par

                              Tien voila :

                              [17:25:34] [Server thread/INFO]: Player443 has just earned the achievement [Taking Inventory]
                              [17:25:34] [Client thread/INFO]: [CHAT] Player443 has just earned the achievement [Taking Inventory]
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -275 74 359
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -275 74 360
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -275 74 361
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -274 74 359
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -274 74 360
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -274 74 361
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -273 74 359
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -273 74 360
                              0
                              [17:25:40] [Client thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -273 74 361
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -275 74 359
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -275 74 360
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -275 74 361
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -274 74 359
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -274 74 360
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -274 74 361
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -273 74 359
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -273 74 360
                              0
                              [17:25:40] [Server thread/INFO] [STDOUT]: [fr.xperiaonline.xperiamod.common.ItemXperiteHammer:onBlockDestroyed:25]: -273 74 361
                              0
                              
                              
                              1 réponse Dernière réponse Répondre Citer 0
                              • BrokenSwingB Hors-ligne
                                BrokenSwing Moddeurs confirmés Rédacteurs
                                dernière édition par

                                Remplace ```java
                                if(stack.getItemDamage() > 0)

                                Par ```java
                                if(!stack.getItemDamage() > stack.getMaxDamage())
                                
                                1 réponse Dernière réponse Répondre Citer 0
                                • YukiShuY Hors-ligne
                                  YukiShu
                                  dernière édition par

                                  Sa marche ! mais pas de direction lol sa mine de façon horizontale 😄

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • BrokenSwingB Hors-ligne
                                    BrokenSwing Moddeurs confirmés Rédacteurs
                                    dernière édition par

                                    Oui je sais, 2 sec

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • AymericRedA Hors-ligne
                                      AymericRed
                                      dernière édition par

                                      C’est ce que fait le code que BrokenSwing t’a donné, tu veux miner dans quelles directions ?

                                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • YukiShuY Hors-ligne
                                        YukiShu
                                        dernière édition par

                                        désolé 🙂

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • BrokenSwingB Hors-ligne
                                          BrokenSwing Moddeurs confirmés Rédacteurs
                                          dernière édition par

                                          Peut toujours être amélioré, j’ai ajouté des trucs et changé d’autres pour être + cohérent

                                          
                                          @Override
                                          public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) {
                                          if(!world.isRemote) {
                                          for(int i = -1; i <= 1; i++) {
                                          for(int k = -1; k <= 1; k++) {
                                          for(int l = -1; l <= 1; l++) {
                                          
                                          int blockX = x + i;
                                          int blockY = y + l;
                                          int blockZ = z + k;
                                          
                                          Vec3 look = entity.getLookVec();
                                          double direction = Math.max(Math.max(Math.abs(look.xCoord), Math.abs(look.yCoord)), Math.abs(look.zCoord));
                                          if(direction == Math.abs(look.xCoord)) {
                                          blockX = x;
                                          } else if(direction == Math.abs(look.yCoord)) {
                                          blockY = y;
                                          } else {
                                          blockZ = z;
                                          }
                                          
                                          Block blockBreakingIn = world.getBlock(blockX, blockY, blockZ);
                                          int meta = world.getBlockMetadata(blockX, blockY, blockZ);
                                          
                                          if(!(stack.getItemDamage() > stack.getMaxDamage())) {
                                          List <itemstack>drops = blockBreakingIn.getDrops(world, blockX, blockY, blockZ, meta, 0);
                                          int exp = blockBreakingIn.getExpDrop(world, meta, 0);
                                          world.setBlockToAir(blockX, blockY, blockZ);
                                          for(int j = 0; j < drops.size(); j++) {
                                          EntityItem item = new EntityItem(world, blockX, blockY, blockZ, drops.get(j));
                                          world.spawnEntityInWorld(item);
                                          }
                                          if(exp > 0) {
                                          EntityXPOrb expOrb = new EntityXPOrb(world, blockX, blockY, blockZ, exp);
                                          world.spawnEntityInWorld(expOrb);
                                          }
                                          stack.damageItem(i, entity);
                                          }
                                          }
                                          }
                                          }
                                          }
                                          return true;
                                          }
                                          
                                          ```</itemstack>
                                          1 réponse Dernière réponse Répondre Citer 0
                                          • YukiShuY Hors-ligne
                                            YukiShu
                                            dernière édition par

                                            Super ! Merci beaucoup ! Comment je peux te remercier ?

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 4 / 6
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB