• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Ne pas avoir 2backpack dans l'inv

    1.7.x
    1.7.10
    7
    35
    3072
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      Zoulette last edited by

      Bonjour l’autre jour j’ai creer un post cf.https://www.minecraftforgefrance.fr/showthread.php?tid=4821&page=2
      ou a la fin on me propose des lignes de codes qui ont l’air d’être bonne sauf que quand je les utilise et que je register l’event rien ne se passe
      ma class event : https://pastebin.com/D6E9ni6w
      ma class principale : https://pastebin.com/6E6n7iBs

      1 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

        Salut,
        PlayerTickEvent est un event FML et non un event Forge.

        1 Reply Last reply Reply Quote 0
        • Z
          Zoulette last edited by

          et du coup si je veux que ca face ca que si j’ai 2Items je fais un =2 ? Oo

          1 Reply Last reply Reply Quote 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

            Ça veut dire que tu dois utiliser FMLCommonHandler.instance().bus().register(new EventTest()); et non MinecraftForge.EVENT_BUS

            1 Reply Last reply Reply Quote 0
            • Z
              Zoulette last edited by

              j’avais compris merci robin x) je l’avais fait avant
              ps: le tuto sur les event ma éte utile


              et du coup si je veux que ca face ca que si j’ai 2Items je fais un =2 ? Oo

              1 Reply Last reply Reply Quote 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                Pour savoir s’il y a plus de deux fois l’item dans l’inventaire il faut parcourir tout l’inventaire avec une boucle for et compter.

                1 Reply Last reply Reply Quote 0
                • Z
                  Zoulette last edited by

                  https://pastebin.com/Bk5xmb19 euh je pense avoir fait n’importe quoi… des que j’ai un backpack ca m’affiche le message

                  1 Reply Last reply Reply Quote 0
                  • robin4002
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                    Tu es assez bien partie.
                    Au dessus de la for ajoutes :
                    int count = 0;
                    dans la condition if(player.inventory.getStackInSlot(i).getItem() instanceof ItemBackPack à la place de :
                    if(i >= 2)
                    {
                    player.addChatComponentMessage(new ChatComponentText(“Interdit”).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_RED)));
                    }
                    mets :
                    count ++;

                    enfin, à la fin de la boucle for mets le if d’avant en remplaçant i >= 2 par count >= 2

                    1 Reply Last reply Reply Quote 0
                    • Z
                      Zoulette last edited by

                      merci beaucoup, est-il possible de faire la même chose pour l’ender-chest et la mon backpack?


                      de plus je veux faire drop mon item, j’utilise cette ligne player.dropItem(ItemMod.backpack, count); sauf que ca me drop des items a l’infinie x)

                      1 Reply Last reply Reply Quote 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                        player.dropItem(ItemMod.backpack, count - 1); pour en regarder un dans l’inventaire non ?
                        Pour éviter qu’il le ramasse à nouveau, il faut passer par l’event PickupItemEvent et le cancel si le joueur a déjà un sac dans l’event.

                        Pour le back pack dans l’enderchest ça me semble plus compliqué …

                        1 Reply Last reply Reply Quote 0
                        • Z
                          Zoulette last edited by

                          bonjour, pour le drop ca me drop toujours un backpack a l’infini même en survival x)

                          1 Reply Last reply Reply Quote 0
                          • robin4002
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                            Quand tu dis à l’infini, c’est que tu le drop puis le ramasse à nouveau, etc . ou qu’il se drop sans se retirer de l’inventaire ?

                            1 Reply Last reply Reply Quote 0
                            • Z
                              Zoulette last edited by

                              il se drop sans se retirer de l’inv et du coup ca drop des milliers de backpack

                              1 Reply Last reply Reply Quote 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                Et tu arrives à ramasser les backpack ?

                                1 Reply Last reply Reply Quote 0
                                • Z
                                  Zoulette last edited by

                                  oui, dans tout les cas ça drop a l’infinie donc ça en crée à l’infinie


                                  et l’event de pickup n’est pas reconnu

                                  1 Reply Last reply Reply Quote 0
                                  • robin4002
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                    Faudrait voir s’il y a autre chose pour le dropper, car la clairement la fonction ne fonctionne pas comme prévu.

                                    1 Reply Last reply Reply Quote 0
                                    • robin4002
                                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                      En c’est normal, dropItem fait apparaitre un nouvel item.
                                      Il faudrait faire comme ça :

                                      @SubscribeEvent
                                      public void tickEvent(PlayerTickEvent event)
                                      {
                                      EntityPlayer player = event.player; // Tu récupères le player par l'event
                                      int count = 0;
                                      for(int i = 0; i < player.inventory.getSizeInventory(); i++) // Boucle ou l'on crée une variable i qui représente les slots de l'inventaire du joueur
                                      {
                                      if(player.inventory.getStackInSlot(i) != null) // Si le slot n'est pas null alors on passe au prochain
                                      {
                                      if(player.inventory.getStackInSlot(i).getItem() instanceof ItemBackPack) // Si l'item dans le slot est l'instance de ton item alors tu exécutes quelque chose
                                      {
                                      count++;
                                      if(count >= 2)
                                      {
                                      player.inventory.setStackInSlot(i, null);
                                      player.drop(ItemMod.backpack, 1);
                                      player.addChatComponentMessage(new ChatComponentText("Interdit").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_RED)));
                                      }
                                      }
                                      }
                                      }
                                      }
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • Z
                                        Zoulette last edited by

                                        merci beaucoup robin, mais j’ai un probleme, http://prntscr.com/g4qizt

                                        1 Reply Last reply Reply Quote 0
                                        • Antoine_
                                          Antoine_ last edited by

                                          Essaye avec

                                          player.inventory.setInventorySlotContents(i, null);
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • Z
                                            Zoulette last edited by

                                            merci, ca marche comme ca a part que ca fait un bug graphique ou ca fait des fake bag au sol x) mais des que je deco reco le truc reviens a la normal


                                            et du coup est-il possible de le faire pour mon backpack (interdire des items dedans de la même maniere) et dans l’enderchest?

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB