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

      Tu as un NPE car this.mc.objectMouseOver peut être null si tu ne regarde aucun block, il faut juste faire if(this.mc.objectMouseOver != null) {toncode}

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

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB