MFF

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

    Savoir si un coffre est vide ou plein

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    37 Messages 4 Publieurs 6.9k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      Essaie avec çà plutôt :

      
      ​@SideOnly(Side.CLIENT)
      
      @SubscribeEvent
      public void renderContainerMessage(RenderGameOverlayEvent.Post event)
      {
      if (event.type == RenderGameOverlayEvent.ElementType.TEXT) {
      MovingObjectPosition movingObjPos = this.mc.thePlayer.rayTrace(2D, event.partialTicks);
      
      int width = event.resolution.getScaledWidth(); //EntityRenderer
      
      int height = event.resolution.getScaledHeight();
      
      EntityPlayer player = Minecraft.getMinecraft().thePlayer;
      World world = Minecraft.getMinecraft().theWorld;
      MovingObjectPosition mov = player.rayTrace(2D, event.partialTicks);
      
      if(this.mc.objectMouseOver != null && mov != null && mov.typeOfHit == MovingObjectType.BLOCK)
      {
      BlockPos blockpos = this.mc.objectMouseOver.getBlockPos();
      Block block = world.getBlockState(blockpos).getBlock();
      
      String getOpeningMessage = EnumChatFormatting.BOLD + "Right Click" + EnumChatFormatting.RESET + " to open";
      
      String getContainerBlockName = block.getLocalizedName();
      String isEmpty = "(Empty)";
      String getIfIsLocked = EnumChatFormatting.DARK_RED + "Locked";
      
      TileEntityChest tile = (TileEntityChest)this.mc.theWorld.getTileEntity(blockpos);
      boolean flag = true;
      
      if((block) instanceof BlockChest)
      {
      this.drawCenteredString(this.mc.fontRendererObj, getOpeningMessage, width / 2 + 30, height / 2 + 8, new Color(255,255,255).getRGB());
      this.drawCenteredString(this.mc.fontRendererObj, getContainerBlockName, width / 2 + 30, height / 2 + 22, new Color(255,255,255).getRGB());
      
      if(tile.isLocked())
      {
      this.drawCenteredString(this.mc.fontRendererObj, getIfIsLocked, width / 2 - 20, height / 2 - 10, new Color(255,255,255).getRGB());
      }
      
      for (int i = 0; i < tile.getSizeInventory(); i++)
      {
      if (tile.getStackInSlot(i) != null)
      {
      flag = false;
      }
      }
      if(flag)
      {
      System.out.println("container vide");
      }
      else
      {
      System.out.println("container non-vide");
      }
      
      }
      }
      }
      }
      

      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
      • AmaA Hors-ligne
        Ama
        dernière édition par

        Toujours Pareil

        Si je t'ai filé un coup de main n'oublie pas le + / -
        Par contre évite les demandes d'aides en MP, tu sera sympa'

        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

          @‘ZeAmateis’:

          Toujours Pareil

          Et si tu mets tout ce code en commentaire ?

          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
          • AmaA Hors-ligne
            Ama
            dernière édition par

            ça marche normalement ^^ Normal non ? ^^’

            Si je t'ai filé un coup de main n'oublie pas le + / -
            Par contre évite les demandes d'aides en MP, tu sera sympa'

            La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

            Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

              Dans quelle classe se trouve cette fonction ?

              Après plusieurs tests, voici mes résultats :
              1-Ta fonction est dans une classe Gui (ou GuiScreen), ce qui est une mauvaise manie
              2-Le container est toujours vide car tu récupère un WorldClient et non un WorldServer donc ta tileEntity est vide. Il faut faire une synchronisation client / serveur.

              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
              • AmaA Hors-ligne
                Ama
                dernière édition par

                une classe ou des events côté clients sont chargés

                Si je t'ai filé un coup de main n'oublie pas le + / -
                Par contre évite les demandes d'aides en MP, tu sera sympa'

                La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                  Petit up, une petite idée ?

                  Quel serait le code alors ?

                  @‘SCAREX’:

                  Dans quelle classe se trouve cette fonction ?

                  Après plusieurs tests, voici mes résultats :
                  1-Ta fonction est dans une classe Gui (ou GuiScreen), ce qui est une mauvaise manie
                  2-Le container est toujours vide car tu récupère un WorldClient et non un WorldServer donc ta tileEntity est vide. Il faut faire une synchronisation client / serveur.

                  Si je t'ai filé un coup de main n'oublie pas le + / -
                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                    @‘robin4002’:

                    Envoie le rapport.

                    J’ai fait :

                    for (int i = 0; i < tile.getSizeInventory(); i++)
                    
                                {
                            System.out.println(tile.getStackInSlot(i));
                    
                                if (tile.getStackInSlot(i) != null)
                                {
                                flag = false;
                                }
                                }
                    

                    Le:

                    System.out.println(tile.getStackInSlot(i));
                    

                    Me donne

                    [18:16:59] [Client thread/INFO] [STDOUT]: [fr.zeamateis.tesm.module.client.guis.client.gui.GuiInGame:renderContainerMessage:88]: null

                    Pas normal ?

                    Si je t'ai filé un coup de main n'oublie pas le + / -
                    Par contre évite les demandes d'aides en MP, tu sera sympa'

                    La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                    Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                      Tout le temps ? car normalement comme la boucle va de 0 à la taille de l’inventaire ça devrait afficher plusieurs null.  (et au contraire un truc non null si il y a quelques choses dans le IInventory).

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

                        ça l’affiche tout le temps oui effectivement

                        Si je t'ai filé un coup de main n'oublie pas le + / -
                        Par contre évite les demandes d'aides en MP, tu sera sympa'

                        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                          Bon c’est ce que je craignais. Côté client getStackInSlot return toujours null, le client ne sait pas ce qu’il y a dans le coffre temps qu’il ne l’ouvre pas (c’est à ce moment que le contenu est synchronisé).

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

                            Problème résolu grâce à Dermensolf sur IC

                            Si je t'ai filé un coup de main n'oublie pas le + / -
                            Par contre évite les demandes d'aides en MP, tu sera sympa'

                            La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                            Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                              Le code qu’il a donné ne fonctionnera pas sur un serveur dédiée. Il ne fonctionne que en solo.

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

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB