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

      @‘SCAREX’:

      (petit conseil : pense à utiliser les fichiers de lang pour tes messages 😉 )

      boolean flag = true;
      for (int i = 0; i < tile.getSizeInventory; i++ {
      if (tile.getStackInslot(i) != null) flag = false;
      }
      if (flag) logger.info("container vide");
      else logger.info("container non-vide");
      

      Ton code me retourne toujours “container vide” même si le coffre est plein, j’comprend pas

      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

        Pourtant hormis une parenthèse manquante après le i++ sont code est bon.

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

          Humm, c’est bizarre, je renvoie le code au cas où

          ​@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
          • robin4002R Hors-ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            Dans la double fait un print de tile.getStackInSlot(i)

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

              ca crashe quand même (biensûr si tu entend i++ comme double)

              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

                Envoie le rapport.

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

                  rayTrace(2D, event.partialTicks);

                  2 c’est pas beaucoup, essaie avec quelque chose de plus grand ou rapproche toi de ton block

                  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

                    Le jeu fait juste un Ne répond pas Robin

                    avec ça

                    
                    [21:34:10] [Server thread/INFO]: Saving and pausing game…
                    [21:34:10] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
                    [21:34:10] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
                    [21:34:10] [Server thread/INFO]: Saving chunks for level 'New World'/The End
                    [21:34:10] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@5c8342[id=858c22eb-998e-3b6e-bf5d-5bbed095e7e1,name=ZeAmateis,properties={},legacy=false]
                    com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
                    at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:65) ~[YggdrasilAuthenticationService.class:?]
                    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:158) [YggdrasilMinecraftSessionService.class:?]
                    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:53) [YggdrasilMinecraftSessionService$1.class:?]
                    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:50) [YggdrasilMinecraftSessionService$1.class:?]
                    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) [guava-17.0.jar:?]
                    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?]
                    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?]
                    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?]
                    at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?]
                    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?]
                    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?]
                    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?]
                    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:148) [YggdrasilMinecraftSessionService.class:?]
                    at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:138) [SkinManager$3.class:?]
                    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0_60]
                    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0_60]
                    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.7.0_60]
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.7.0_60]
                    at java.lang.Thread.run(Unknown Source) [?:1.7.0_60]
                    
                    

                    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

                      Il y a une erreur avec le système d’auth de Minecraft, c’est étrange o_O

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

                        The client has sent too many requests within a certain amount of time
                        

                        Arrête pendant un petit bout de temps, mojang en a marre que tu redémarres ton jeu.

                        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’:

                          Arrête pendant un petit bout de temps, mojang en a marre que tu redémarres ton jeu.

                          xD

                          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

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB