• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Un code qui permettrait a une nouvelle pioche de casser la bedrock.

    Anciennes versions
    1.5.2
    5
    27
    8617
    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.
    • S
      sevenno07 dernière édition par

      Salut;
      A cause de son [CODE_Java].setBlockUnbreakable()[/CODE_Java]
      Le bloque de bedrock ne peu pas etre cassé, a moi de modifier le code de se bloque “se qui est peu recommandable”, je voudrais savoir si il étai possible de faire en sorte avec une nouvelle pickaxe, de lui dire de casser un seul bloque spécifique même si se bloque a le [CODE_Java].setBlockUnbreakable()[/CODE_Java] Donc en gros de lui dire d’ignoré se code.

      Merci d’avance.

      Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

      1 réponse Dernière réponse Répondre Citer 0
      • S
        sevenno07 dernière édition par

        up
        Rien trouvai.

        Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

          [code_java]package tutoriel.common;

          import net.minecraft.block.Block;
          import net.minecraft.entity.EntityLiving;
          import net.minecraft.entity.item.EntityItem;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.item.EnumToolMaterial;
          import net.minecraft.item.ItemPickaxe;
          import net.minecraft.item.ItemStack;
          import net.minecraft.world.World;

          public class ItemTutoPickaxe extends ItemPickaxe
          {
          public ItemTutoPickaxe(int id, EnumToolMaterial enumToolMaterial)
          {
          super(id, enumToolMaterial);
          }

          public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
          {
          if(world.getBlockId(x, y, z) == Block.bedrock.blockID)
          {
          world.setBlockToAir(x, y, z);
          EntityItem entityitem = new EntityItem(world, x, y, z, new ItemStack(Block.bedrock, 1, 0));
          entityitem.delayBeforeCanPickup = 10;
          world.spawnEntityInWorld(entityitem);
          stack.damageItem(1, player);
          return true;
          }
          else
          {
          return false;
          }
          }
          }[/code_java]

          Par contre j’ai pas trouvé pour le clic gauche, il y a que avec le clic droit.
          ça détruit le bloc instantanément, et il y a un petit bug d’affichage, je sais pas pourquoi on voit deux item par terre, mais on peut que en ramacer un, pourtant j’ai prit le même code que je drop des mobs. Tu peux faire que l’item s’endommage plus en changeant ça :
          stack.damageItem(1, player);

          1 réponse Dernière réponse Répondre Citer 0
          • S
            sevenno07 dernière édition par

            Je te remercie, je vais étudier se code. par contre je ne suit pas sure d’avoirs tout compris, mais je vais te relire.
            Encor merci, je te tien au courent.

            PS: Le mieux, s’est que sa puisse dropai autre chose que le bloque en luis même, mais sa risque d’être plus compliquai je pence.


            En faite non, pour un autre drop sa sera plus facile que prévue, j’ai rien dit, désolé x).


            Effectivement sa fonctionne, et il y a le petit bug graphique comme tu ma dit plus haut;
            Mais un truc dans le cod que tu ma donnai, “tu va me prendre pour un idiot” je ne comprend pas la fonctionnalité de cette ligne:
            [CODE_Java]world.spawnEntityInWorld(entityitem);[/CODE_Java]

            peu tu m’éclairai stp ?
            Merci 🙂

            PS: Sinon je comprend en grosse partit le code que tu m’a donnais, je n’y aurai jamais pansais.

            Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

            1 réponse Dernière réponse Répondre Citer 0
            • elias54
              elias54 Administrateurs dernière édition par

              [code_java]
              world.spawnEntityInWorld(entityitem);
              [/code_java]

              sert à faire spawner l’entité, car les items/blocks par terre sont des “EntityItem” 🙂

              Mon site | GitHub

              1 réponse Dernière réponse Répondre Citer 1
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Je vais voir si je trouve pas un moyen de corriger ce bug d’affichage. Sinon dans la condition du peut mettre ça :
                [code_java]if(world.getBlockId(x, y, z) == Block.bedrock.blockID) && y != 0[/code_java]
                Comme ça on peut casser n’importe quel bedrock sauf celle qui se trouve sur la dernière couche.


                J’aurai du y penser plutôt, le bug d’affichage est un bug de syncronisation entre le serveur et le client, il suffit juste d’ajouter ça dans la condition :
                !world.isRemote
                ce qui donne :

                [code_java]if(world.getBlockId(x, y, z) == Block.bedrock.blockID) && y != 0 && !world.isRemote[/code_java]

                1 réponse Dernière réponse Répondre Citer 0
                • S
                  sevenno07 dernière édition par

                  @elias54
                  Efectivement je m’en suit rendu compte juste avent d’aller me coucher x).

                  @robin4002
                  Je te remercie je regarde sa tout de suite, “le temps que éclipse s’allume” x).


                  Yep nikel, Par contre il faut faire un clic droit avec la pioche pour casser le bloque, mais au finale ce n’est pas si grave ^^, puisque elle est senser être “magique”;“spécial” enfin voila, alors du coup sens le vouloir tu a donnai une bonne idée merci :).

                  Mais si tu/je/on trouve comment faire pour casser le bloque “normalement” on le signalera sur se sujet :).

                  Encore merci ^^.

                  Mais du coup, “entityitem.delayBeforeCanPickup = 10;” ne serre a rien, si ?
                  Car on ne peu pas pour le moment casser le bloque “normalement”, alors il serre a rien pour le moment x).

                  Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                  1 réponse Dernière réponse Répondre Citer 0
                  • elias54
                    elias54 Administrateurs dernière édition par

                    bah delayBeforeCanPickup –> délai avant de pouvoir ramasser l’item, je sais pas si t’as remarqué, mais quand un item est à terre, tout fraîchement jeté, il y a un cooldown avant de pouvoir le ramasser 🙂 Bah ce cooldown, c’est CETTE ligne ^^

                    Mais pour peaufiner le truc, je te conseil d’utiliser le itemstack plutot que de créer une entity item :3

                    Mon site | GitHub

                    1 réponse Dernière réponse Répondre Citer 0
                    • S
                      sevenno07 dernière édition par

                      A Ok ! J’avais mal compris alors x) dsl robin4002 d’avoir crue autre chose :).
                      Et merci a toi elias54, je regarde rapidement se que tu viens de me dire :); mais sincèrement je ne vois pas trop la ‘-’.

                      Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                      1 réponse Dernière réponse Répondre Citer 0
                      • S
                        sevenno07 dernière édition par

                        Up ^^.
                        Rien trouvai de mieux que se qu’a mi robin.
                        Et pour le itemstack a la place d’un entity item … je crois que je vais laisser comme sais x).


                        Bon je fais un edit pour évitait multiple poste et pour évitait de créer un nouveau sujet exprès:

                        Il y a t’il moyen de faire un effet de “poussière” quand je casse un bloque de bedrock avec cette pioche svp ? merci.
                        C’est en faite pour donnais un effet “magique” rien de plus.

                        Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                        1 réponse Dernière réponse Répondre Citer 0
                        • Gugu
                          Gugu dernière édition par

                          Tu peut utiliser des particules, mais c’est assez dur de faire des particules.

                          Demande a quelqu’un qui en a déjà fait pour qu’il te donne une idée, car moi je sais pas dutout faire ( Je m’y suis jamais intéressé plutôt )

                          "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                          ― Jordan B. Peterson

                          1 réponse Dernière réponse Répondre Citer 0
                          • S
                            sevenno07 dernière édition par

                            XD, je te remercie, et s’est au particule que je voulais en venir, j’avais juste pas le mot en tête ^^'.
                            C’est si compliquer que sa ? O_o

                            Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                            1 réponse Dernière réponse Répondre Citer 0
                            • Gugu
                              Gugu dernière édition par

                              Bah, je m’y suis pas intéressé, mais je sais que c’est assez dur a faire.
                              Mais je pense que tu peut le faire, t’inquiète pas.

                              "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                              ― Jordan B. Peterson

                              1 réponse Dernière réponse Répondre Citer 0
                              • S
                                sevenno07 dernière édition par

                                Ok ! Si tu le dit ^^, mais bon je préfère trouvai un bon tuto la dessus, car les chose difficile je préfère que l’on m’explique XD.
                                PS: j’ai vue pour faire style un mélange de cane a sucre et de cactus, sa a étai dure pour moi x).

                                Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                                1 réponse Dernière réponse Répondre Citer 0
                                • elias54
                                  elias54 Administrateurs dernière édition par

                                  Cela dépend de ce que tu veux utiliser au niveau des particules… (Custom ou celles du jeux ?)

                                  Mon site | GitHub

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • S
                                    sevenno07 dernière édition par

                                    A et bien celle du jeu ^^, je voudrais faire un peu comme avec la bonne meal quand on clic droit sur du crop et autre ^^.

                                    Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • kevin_68
                                      kevin_68 Moddeurs confirmés dernière édition par

                                      essaie ça:
                                      [code_java]package tutoriel.common;

                                      import net.minecraft.block.Block;
                                      import net.minecraft.entity.EntityLiving;
                                      import net.minecraft.entity.item.EntityItem;
                                      import net.minecraft.entity.player.EntityPlayer;
                                      import net.minecraft.item.EnumToolMaterial;
                                      import net.minecraft.item.ItemPickaxe;
                                      import net.minecraft.item.ItemStack;
                                      import net.minecraft.world.World;
                                      import cpw.mods.fml.relauncher.Side;

                                      public class ItemTutoPickaxe extends ItemPickaxe
                                      {
                                      public ItemTutoPickaxe(int id, EnumToolMaterial enumToolMaterial)
                                      {
                                      super(id, enumToolMaterial);
                                      }

                                      public boolean onItemUse(ItemStack stack, EntityPlayer player, World world,
                                      int x, int y, int z, int side, float hitX, float hitY, float hitZ)
                                      {
                                      if (!world.isRemote)
                                      {
                                      if (world.getBlockId(x, y, z) == Block.bedrock.blockID)
                                      {
                                      world.setBlockToAir(x, y, z);
                                      EntityItem entityitem = new EntityItem(world, x, y, z, new ItemStack(Block.bedrock, 1, 0));
                                      entityitem.delayBeforeCanPickup = 10;
                                      world.spawnEntityInWorld(entityitem);
                                      stack.damageItem(1, player);
                                      Side side2 = FMLCommonHandler.instance().getEffectiveSide();
                                      if (side2 == Side.CLIENT)
                                      {
                                      for (int j1 = 0; j1 < side; ++j1)
                                      {
                                      double d0 = itemRand.nextGaussian() * 0.02D;
                                      double d1 = itemRand.nextGaussian() * 0.02D;
                                      double d2 = itemRand.nextGaussian() * 0.02D;
                                      world.spawnParticle(“happyVillager”, (double) ((float) x + itemRand.nextFloat()),
                                      (double) y + (double) itemRand.nextFloat(), (double) ((float) z + itemRand.nextFloat()), d0, d1, d2);
                                      }
                                      }
                                      return true;
                                      }
                                      else
                                      {
                                      return false;
                                      }
                                      }
                                      return false;
                                      }
                                      }[/code_java]


                                      Mettez à jours vers la dernière version stable (1.8.9 voir même…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • S
                                        sevenno07 dernière édition par

                                        Ok, Merci beaucoup :).

                                        Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • Gugu
                                          Gugu dernière édition par

                                          N’oublie pas de demander si tu ne comprends pas quelque chose dans le code !

                                          Tu apprendras très vite grâce a ça.

                                          "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                                          ― Jordan B. Peterson

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • kevin_68
                                            kevin_68 Moddeurs confirmés dernière édition par

                                            En fait j’ai fait ce code directement sur le forum dans le message, donc je ne l’ai pas testé et je viens de remarquer qu’il y a des erreurs, je te corrige ça demain.


                                            Mettez à jours vers la dernière version stable (1.8.9 voir même…

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB