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

    Résolu Event Drops EntityItem

    1.9.x et 1.10.x
    1.10.x
    5
    11
    1795
    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.
    • SpyMan
      SpyMan dernière édition par

      Bonjour alors voila je cherche a faire en sorte que quand le joueur drop un item (une golden apple normal) et bien que il se produise quelque chose, mais le problème c’est que je voudrais que cela fonctionne qu’avec la golden apple normal et non l’autre, et c’est là que je n’y arrive pas.
      Le code s’execute mais la condition qui check l’entityItem ne prend pas en compte la metedata.

      @SubscribeEvent
      public void onItemDrop(ItemTossEvent event)
      {
         World world = event.getEntityItem().getEntityWorld();
         ItemStack itemGoldApple = new ItemStack(Items.GOLDEN_APPLE, 1, 0);
         ItemStack itemStack = event.getEntityItem().getEntityItem();
         int entityItemPosX = event.getEntityItem().getPosition().getX();
         int entityItemPosY = event.getEntityItem().getPosition().getY();
         int entityItemPosZ = event.getEntityItem().getPosition().getZ();
         BlockPos goldBlockPos = new BlockPos(entityItemPosX, entityItemPosY - 2, entityItemPosZ);
      
         if (itemStack == itemGoldApple)
         {
             if (world.getBlockState(goldBlockPos).getBlock() == Blocks.GOLD_BLOCK)
             {
                  // ici il va ce passer quelque chose 
             }
         }
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwing
        BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par

        if(itemStack.getItem() == Items.GOLDEN_APPLE && itemStack.getMetadata() == 0)
        
        1 réponse Dernière réponse Répondre Citer 0
        • SpyMan
          SpyMan dernière édition par

          Je suis vraiment pas doué, j’ai tout essayé sauf ça 😕
          Et aussi un autre truc, quand je fait spawn un éclair j’entend le bruit mais je le vois pas 😕
          voici l’instruction

          world.spawnEntityInWorld(new EntityLightningBolt(world, entityItemPosX, entityItemPosY, entityItemPosZ, true));
          
          1 réponse Dernière réponse Répondre Citer 0
          • Gabs
            Gabs dernière édition par

            @‘SpyMan’:

            Je suis vraiment pas doué, j’ai tout essayé sauf ça 😕
            Et aussi un autre truc, quand je fait spawn un éclair j’entend le bruit mais je le vois pas 😕
            voici l’instruction

            world.spawnEntityInWorld(new EntityLightningBolt(world, entityItemPosX, entityItemPosY, entityItemPosZ, true));
            

            il me semble que il faut un !world.isremote .

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

              Non, si tu met un !world.isRemote il ne se pas plus rien, parce que l’éclair est coté client et server

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

                Essaie de le faire spawn uniquement côté client

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

                  Non plus…
                  Le truc c’est que je comprend pas vraiment pourquoi ça fait ça

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

                    Okay j’ai fait une recherche et j’ai trouvé.
                    Le spawn doit tout comme les autres entités se faire uniquement côté serveur. En revanche les éclairs ne doivent pas être spawn à l’aide de World#spawnEntityInWorld, mais plutôt World#addWeatherEffect 😃

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

                      Merci ça fonctionne mieux, en revanche je comprend pas pourquoi  quand je fais ça :

                             int entityItemPosX = event.getEntityItem().getPosition().getX();
                             int entityItemPosY = event.getEntityItem().getPosition().getY();
                             int entityItemPosZ = event.getEntityItem().getPosition().getZ();
                      

                      cela me retourne la position du joueur de non de mon EntityItem

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

                        Car il renvoie les coordonnées de l’item au moment où il est lancé et au moment où il est lancé par le joueur l’item se trouve aux mêmes coordonnées que le joueur.

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

                          Ok merci, je comprenais pas pourquoi c’était comme cela

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

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB