MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Problème ajout d'ItemStack dans l'inventaire

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    4 Messages 3 Publieurs 863 Vues 1 Watching
    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.
    • BrokenSwingB Hors-ligne
      BrokenSwing Moddeurs confirmés Rédacteurs
      dernière édition par

      Voilà, le problème est très simple, j’ai créé ce bloc qui s’appelle sceau parce que c’est un bloc pour tester au propre le code qui bug

      
      public class BlockSceau extends Block {
      
      public BlockSceau() {
      super(Material.iron);
      this.setUnlocalizedName("sceau");
      }
      
      @Override
      public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ)
      {
      if(!world.isRemote && player.getHeldItem() != null && (player.getHeldItem().getItem() == Items.water_bucket || player.getHeldItem().getItem() == Items.bucket))
      {
      if(player.getHeldItem().getItem() == Items.bucket)
      {
      if(–player.inventory.mainInventory[player.inventory.currentItem].stackSize <= 0)
      {
      player.inventory.mainInventory[player.inventory.currentItem] = new ItemStack(Items.water_bucket, 1, 0);
      }
      else
      {
      if(!player.inventory.addItemStackToInventory(new ItemStack(Items.water_bucket)))
      {
      player.dropPlayerItemWithRandomChoice(new ItemStack(Items.water_bucket, 1, 0), false);
      }
      }
      return true;
      }
      else if(player.getHeldItem().getItem() == Items.water_bucket)
      {
      if(–player.inventory.mainInventory[player.inventory.currentItem].stackSize <= 0)
      {
      player.inventory.mainInventory[player.inventory.currentItem] = new ItemStack(Items.bucket, 1, 0);
      }
      else
      {
      if(!player.inventory.addItemStackToInventory(new ItemStack(Items.bucket)))
      {
      player.dropPlayerItemWithRandomChoice(new ItemStack(Items.bucket, 1, 0), false);
      }
      }
      return true;
      }
      }
      return true;
      }
      }
      
      

      Et donc le problème est que lorsque j’ai plusieurs sceaux vides stackés et que je fais clique droit ça m’enlève bien un sceau vide mais le sceau plein n’apparaît nul part dans mon inventaire mais y est bien présent, en effet si je fait un /kill les sceaux d’eau dropent et je peux les ramasser comme si de rien n’était

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREXS Hors-ligne
        SCAREX
        dernière édition par

        Essaie sans le if (!world.isRemote), si çà ne marche pas sans, à la fin de ton code fait un player.detectAndSendChanges

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

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

          Et essaie aussi à la suite de ton code qui donne le seau cette méthode, on sait jamais 😃
          player.inventory.markDirty();

          1 réponse Dernière réponse Répondre Citer 0
          • BrokenSwingB Hors-ligne
            BrokenSwing Moddeurs confirmés Rédacteurs
            dernière édition par

            Ah bah oui, ça marche sans le !world.isRemote, c’est tout bête.
            Merci

            EDIT : player.inventory.markDirty() ne marche pas, j’avais déjà essayé

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

            MINECRAFT FORGE FRANCE © 2024

            Powered by NodeBB