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

      Je viens de re test et j’ai juste Minecraft qui cesse de fonctionner pas de crash ni rien

      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

        Si c’est au démarrage, c’est normal, sinon lance bien ton mod en mode RUN (au lieu de debug), si çà ne change rien, c’est que le problème vient de ton ordi.

        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

          SCAREX, non mon problème persiste toujours !

          Je remet mon code au cas où avec deux trois modif’s

          ​@SideOnly(Side.CLIENT)
          
              @SubscribeEvent
              public void renderContainerMessage(RenderGameOverlayEvent.Text event)
              {    
                  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");
                      }
          
                      }
                  }
              }
          

          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

            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
                                    • 2 / 2
                                    • Premier message
                                      Dernier message
                                    Design by Woryk
                                    ContactMentions Légales

                                    MINECRAFT FORGE FRANCE © 2024

                                    Powered by NodeBB