• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • 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
1.9k
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 31 oct. 2016, 15:28

    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 31 oct. 2016, 15:35

      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 31 oct. 2016, 15:44

        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 31 oct. 2016, 16:08

          @‘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 31 oct. 2016, 16:13

            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 31 oct. 2016, 16:19

              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 31 oct. 2016, 16:26

                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 31 oct. 2016, 16:33

                  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 1 nov. 2016, 11:43

                    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 1 nov. 2016, 11:46

                      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 1 nov. 2016, 13:10

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

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

                        MINECRAFT FORGE FRANCE © 2018

                        Powered by NodeBB