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

      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
                        • BrokenSwingB Hors-ligne
                          BrokenSwing Moddeurs confirmés Rédacteurs
                          dernière édition par

                          +2 ? ^^
                          EDIT : Mais comme je l’ai dit tu peux améliorer le code surtout au niveau des directions

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

                            Bah je ne le peux pas xD j’ai aucune connaissance en java 😉 Bon … j’ai reussi a faire
                            -Minerais (5 en tout) + la generation dans l’overworld
                            -les lingot
                            -les bloc de lingot
                            -les armures
                            -les armes et outils
                            -et tout les craft qui en découlent !

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

                              Pas mal pour quelqu’un qui n’a “aucune” connaissance en java

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

                                bah j’ai suivie des tuto p’y c’est de la logique en faite donc plutot facile je devrais apprendre pck rien qu’a faire ça je me suis eclater xD
                                Sinon pour faire un bush genre (Oreberry bush de TC)
                                C’est un block avec des meta datas qui arriver a un certain stade laisse la posibilité de clic droit ?

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

                                  C’est ça en gros

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

                                    oki je suis en train de regarder le tuto de robin 😉
                                    Mais j’aurais surment besoin d’aide pour laisser l’acces au clic droit + l’action

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

                                      ça y est je viens de fini j’ai mon block avec mes 4 metadata !

                                      Maintenant je doit faire quoi pour lui dire que tout les “X” tick le block change de metadata ?
                                      Et ensuite pour lui dire que a la 4 eme metadata on peux faire un clic droit dessus( ET PAS AVANT !) pour recuperer un item ?
                                      Et ensuite dire au block de repartir a la metadata numero 1 ?

                                      Merci de votre aides !

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

                                        Malheureusement les blocks ne sont pas tickés, ils peuvent seulement êtres tickés de façon aléatoire, donc tu as 2 options :

                                        • faire ticker ton block de façon aléatoire
                                        • lui ajouter une TileEntity qui elle peut être tickée

                                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                                        Pas de demandes de support par MP ni par skype SVP.
                                        Je n'accepte sur skype que l…

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

                                          Si je le fait ticker de façon aléatoire le lapse de temps est compris entre combien de tick ? y’a forcement une valeur butée je me trompe ?

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

                                            Alors en fait c’est plus compliqué (j’avais oublié) : je crois que tu dois indiqué dans ton constructeur que ton block doit être tické de façon aléatoire, ensuite tu dois ré-écrire les fonctions tickRate qui indique le nombre de ticks entre chaque mise à jour et updateTick qui sera appelée lors de la mise à jour, mais tu dois aussi rajouter dans la fonction updateTick la fonction World.scheduleBlockUpdate(x, y, z, block, tickRate) pour mettre à jour ton block dans le futur (de façon non-aléatoire)

                                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                                            Pas de demandes de support par MP ni par skype SVP.
                                            Je n'accepte sur skype que l…

                                            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