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

      Bonjour,

      J’essaye de créer un GUI depuis plusieurs jours qui s’ouvrira lors de l’execution d’une commande, hors lorsque je fais la commande une erreur s’affiche “une erreur inattendue sest produite lors de lexecution de cette commande”, et quand je met mon curseur dessus ça met “java.lang.NullPointerException”, j’aimerai vraiment savoir d’où ça vient, je vous met mes codes (pour le GUI et pour la commande)

      Bonne journée

      GUI : https://code.alwyn974.re/oyatiberoc.java
      Command: https://code.alwyn974.re/kofanumade.cpp

      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

        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