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.
    • YukiShuY Hors-ligne
      YukiShu
      dernière édition par

      Bon bah je reviens parce que je suis complètement perdu !

      package fr.xperiaonline.xperiamod.common;
      
      import net.minecraft.item.ItemPickaxe;
      
      public class ItemXperiteHammer extends ItemPickaxe
      
      {
      
         protected ItemXperiteHammer(ToolMaterial material)
      
         {
      super(material);
      
         }
      
      }
      
      

      Je ne sais pas du tout ou mettre : [font=monospace ][font=monospacepublic][font=monospace ][font=monospaceboolean][font=monospace ][font=monospaceonBlockDestroyed]font=monospace 

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

        onBlockDestroyed est une fonction qui appartient à la classe Item, ainsi toutes classe héritants de Item possèdent cette fonction, ce qui est le cas de ta classe ItemXperiteHammer (Item-> ItemTool -> ItemPickaxe -> ItemXperiteHammer) ainsi il te faut réécrire cette fonction dans ta classe :

        
        package fr.xperiaonline.xperiamod.common;
        
        import net.minecraft.item.ItemPickaxe;
        
        public class ItemXperiteHammer extends ItemPickaxe
        
        {
        
        public ItemXperiteHammer(ToolMaterial material)
        
        {
        super(material);
        }
        
        public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity)
        {
        //Tu met ton code ici, ça va ressembler à un truc avec 2 boucles et un gestion de la direction
        return false;
        }
        
        }
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • YukiShuY Hors-ligne
          YukiShu
          dernière édition par

          Le truc c’est que je ne sais pas du tout quoi mettre dedans et je ne trouve aucune doc je cherche depuis pas mal de temps… même mon ancien codeur trouvais 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

            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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 5 / 6
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB