MFF

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

    Problème (FORGE) en 1.15.2 création d'un GUI

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.15.2
    12 Messages 3 Publieurs 641 Vues 3 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Bonsoir,
      Les commandes sont exécutées sur le serveur, il n’est pas possible d’utiliser Minecraft (qui est une classe client) dedans. De plus ta variable n’est jamais initialisé il est donc normal d’avoir un NPE.

      Il faut enregistrer ta commande en client pour qu’elle soit utilisé sur le client au lieu du serveur, et donner une valeur à ta variable client (private static Minecraft client = Minecraft.getInstance();).

      1 réponse Dernière réponse Répondre Citer 1
      • E Hors-ligne
        Ethizy
        dernière édition par

        package fr.ethizy.molium.commands;
        
        import com.mojang.brigadier.CommandDispatcher;
        import com.mojang.brigadier.builder.LiteralArgumentBuilder;
        import com.mojang.brigadier.context.CommandContext;
        import fr.ethizy.molium.client.gui.TestGUI;
        import net.minecraft.client.Minecraft;
        import net.minecraft.command.CommandSource;
        
        import static net.minecraft.command.Commands.literal;
        
        public class OpenGuiCommand {
        
            private static Minecraft client = Minecraft.getInstance();
        
            public static void register(CommandDispatcher<CommandSource> dispatcher)
            {
                dispatcher.register(literal("test").executes((commandContext) -> {return commandOpenGui(commandContext.getSource());}));
            }
        
            private static int commandOpenGui(CommandSource source)
            {
                client.displayGuiScreen(new TestGUI(client));
                System.out.println("test");
                return 1;
            }
        
        }
        

        Comme ça ?

        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

          Oui

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

            YES! Mon erreur a changé!! Je suis tellement content, merci!
            Maintenant j’ai une autre erreur:
            c30c53ec-4ef4-496b-8686-55effcdf297b-image.png

            1 réponse Dernière réponse Répondre Citer 0
            • E Hors-ligne
              Ethizy @robin4002
              dernière édition par

              @robin4002 j’ai réglé, mais autre soucis, y’a rien qui s’affiche, des gens disent que ça vient du drawScreen puisque quand je met un sysout il s’affiche pas

              le drawScreen:

                  public void drawScreen(int mouseX, int mouseY, float partialTicks)
                  {
                      System.out.println("testttt");
                      drawBackgroundImage();
                  }
              
              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

                Je crois que cette fonction n’a plus le même nom en 1.15.2.
                Ajoutes un @Override au dessus, si cela fait une erreur tu n’as pas le bon nom.

                E 1 réponse Dernière réponse Répondre Citer 1
                • E Hors-ligne
                  Ethizy @robin4002
                  dernière édition par Ethizy

                  @robin4002 J’ai touuut réglé à l’aide de quelques personne, j’ai juste un petit soucis :

                  fb309ccf-20c6-4642-bbf6-f6219ced44e9-image.png

                  ça prend tout mon écran, voici mon code:

                  package fr.ethizy.molium.client.gui;
                  
                  import com.mojang.blaze3d.platform.GlStateManager;
                  import com.mojang.blaze3d.systems.RenderSystem;
                  import fr.ethizy.molium.Molium;
                  import net.minecraft.client.Minecraft;
                  import net.minecraft.client.gui.screen.Screen;
                  import net.minecraft.client.renderer.RenderHelper;
                  import net.minecraft.util.ResourceLocation;
                  import net.minecraft.util.text.ITextComponent;
                  import net.minecraft.util.text.StringTextComponent;
                  
                  public class TestGUI extends Screen {
                  
                      private final ResourceLocation background = new ResourceLocation(Molium.MOD_ID, "textures/gui/gui_base.png");
                  
                      public static Minecraft mc;
                  
                  
                      public final int xSize = 256;
                      public final int ySize = 202;
                  
                      public TestGUI(Minecraft mc)
                      {
                          super(new StringTextComponent("Mon Joli GUI"));
                          minecraft = mc;
                      }
                  
                      public void render(int mouseX, int mouseY, float partialTicks)
                      {
                          drawBackgroundImage();
                          super.render(mouseX, mouseY, partialTicks);
                      }
                  
                      public void drawBackgroundImage()
                      {
                          RenderSystem.pushMatrix();
                          RenderSystem.blendColor(1.0F, 1.0F, 1.0F, 1.0F);
                          minecraft.getTextureManager().bindTexture(background);
                          int x = (this.width = this.xSize) /3;
                          int y = (this.height = this.ySize) /3;
                          this.blit(x, y, 0, 0, this.xSize, this.ySize);
                          RenderSystem.popMatrix();
                      }
                  
                  
                  
                  }
                  
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • E Hors-ligne
                    Ethizy
                    dernière édition par

                    Ce message a été supprimé !
                    1 réponse Dernière réponse Répondre Citer 0
                    • Mysterious_DevM Hors-ligne
                      Mysterious_Dev
                      dernière édition par

                          int x = (this.width = this.xSize) /3;
                          int y = (this.height = this.ySize) /3;
                      

                      Peut être ici non avec les = entre width et xSize ?

                      Adore taper sur les moddeurs 1.7.10.

                      E 1 réponse Dernière réponse Répondre Citer 1
                      • E Hors-ligne
                        Ethizy @Mysterious_Dev
                        dernière édition par

                        @Mysterious-Dev yep cimer!

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

                          J’ai 2 petites dernières questions avant de passer ce sujet en résolu:

                          J’aimerai savoir ce que c’est drawRect() en 1.15.2 , car ça a changeait, (c’est pour mettre un fond grisé sur les GUI)
                          Et aussi, j’ai crée un système pour lorsque le joueur appuie sur une touche pré-configuré et que le GUI n’est pas encore ouvert, ça ouvre le GUI, et que si il appuie alors que le GUI est ouvert, ça le ferme, voici mon code:

                          https://code.alwyn974.re/xisivedufi.java

                          J’ai aucune erreur, le GUI s’ouvre bien, mais il se ferme pas, quelqu’un sait pourquoi ?

                          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