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

    Résolu Drop d'item

    1.7.x
    1.7.x
    2
    2
    890
    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.
    • Vebert
      Vebert dernière édition par

      Boujours,

      J’ai un petit problème, je fais un outil qui doit faire spawn un item au sol quand on clic-(droit) sur un block, ça fonctionne mais il y a deux items qui tombent dont un qui est irrécupérable. 😕

          public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entity, int par6, float pX, float pY, float pZ)
      {
      ItemStack itemStack = entity.getCurrentEquippedItem();
      ItemStack drop = new ItemStack(Items.wheat, 1);
      if(itemStack != null)
      {
      Item item = itemStack.getItem();
      if(item == ItemsH.Faux)
      {
      if(world.getBlockMetadata(x, y, z) >= 1)
      {
      EntityItem entityitem = new EntityItem(world, x, y + 0, z, drop);
      world.setBlockToAir(x, y, z);
      world.spawnEntityInWorld(entityitem);
      }
      }
      }
      return true;
      }
      

      De plus mes items sont éjecté a 2 ou 3 blocs, j’aimerais bien savoir si l’on peu faire en sorte qu’ils soient plus près.

      Merci pour votre aide.
      Vebert

      edit : problème résolu 😛 plus vite que prévu

      public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entity, int par6, float pX, float pY, float pZ)
      {
      if(!world.isRemote)
      {
      ItemStack itemStack = entity.getCurrentEquippedItem();
      ItemStack drop = new ItemStack(Items.wheat, 1);
      if(itemStack != null)
      {
      Item item = itemStack.getItem();
      if(item == ItemsH.Faux)
      {
      if(world.getBlockMetadata(x, y, z) >= 1)
      {
      EntityItem entityitem = new EntityItem(world, x, y + 0, z, drop);
      world.setBlockToAir(x, y, z);
      world.spawnEntityInWorld(entityitem);
      }
      }
      }
      }
      return true;
      }
      

      Il fallait rajouter le test !world.isRemote, mais je n’ais pas compris à quoi ça servait.

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

        Salut,
        EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, drop);
        Avec ça, ça devrait être centré au bloc.

        Pour les loots invisible, ajoute la condition !world.isRemote

        ÉDIT : trop lent.
        Explication :
        world.isRemote = celui qui gère le rendu
        !world.isRemote = world server, celui qui gère le reste

        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