MFF

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

    Changer le menu principal de Minecraft

    Planifier Épinglé Verrouillé Déplacé Résolu 1.14.x
    1.14.4
    6 Messages 3 Publieurs 628 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.
    • ? Hors-ligne
      Un Ancien Utilisateur
      dernière édition par

      Bonjour, je voudrais changer le menu principal de Minecraft mais quand je démarre le jeu, le nouveau GUI ne s’affiche pas et quand clique sur un bouton puis que je reviens sur le menu, plus aucun bouton ne s’affiche.

      Voici le code:

      @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, modid = Mod.MOD_ID)
      public class ModGuis {
      		
          public static final ModGuis INSTANCE = new ModGuis();
      	
          @SubscribeEvent
          public void onOpenGuiMainMenu(GuiOpenEvent event) {
              if(event.getGui() != null && event.getGui().getClass() == MainMenuScreen.class) {	
                  event.setGui(new GuiMainMenu());   
              }   
          }	
      }
      

      et celui de ma classe principale:

      @Mod(Mod.MOD_ID)
      public class Mod {
      
          public static final String MOD_ID = "mod";
      	
          public static final Logger LOGGER = LogManager.getLogger(MOD_ID);
      	
          public Mod() {
              FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonSetup);
              FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientSetup);
              FMLJavaModLoadingContext.get().getModEventBus().addListener(this::serverSetup);		
          }
      
          private void commonSetup(final FMLCommonSetupEvent event) {
              LOGGER.info("Mod common setup");
          }
      
          private void clientSetup(final FMLClientSetupEvent event) {
              LOGGER.info("Mod client setup");
              MinecraftForge.EVENT_BUS.register(ModGuis.INSTANCE);
          }
      
          private void serverSetup(final FMLDedicatedServerSetupEvent event) {
              LOGGER.info("Mod server setup");
          }
      }
      
      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

        Bonjour,
        Sur Silvergames j’ai fais ça :

            @SubscribeEvent
            public static void onGuiInit(GuiScreenEvent.InitGuiEvent.Pre event) {
                // GuiOpenEvent is not called for the first main menu open
                if(event.getGui().getClass().equals(MainMenuScreen.class)) {
                    SGClient.MC.displayGuiScreen(new SGGuiMainMenu());
                }
            }
        

        Comme indiqué par le commentaire, avec le nouveau système de gui de chargement de Minecraft, l’event GuiOpenEvent n’est plus appelé pour le premier affichage du menu principal. Il faut donc passer par GuiScreenEvent.InitGuiEvent.Pre

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

          essaies plus un truc comme ça (c’est du code 1.12 donc pas sur que ça marche mais on sait jamais)

          	@SubscribeEvent
          	@SideOnly(Side.CLIENT)
          	public void initGui(GuiOpenEvent event) {
          		if (event.getGui() instanceof GuiMainMenu) {
          			event.setGui(new MainMenuScreen());
          		}
          }
          

          J'aime les pâtes

          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

            Bonjour,
            Sur Silvergames j’ai fais ça :

                @SubscribeEvent
                public static void onGuiInit(GuiScreenEvent.InitGuiEvent.Pre event) {
                    // GuiOpenEvent is not called for the first main menu open
                    if(event.getGui().getClass().equals(MainMenuScreen.class)) {
                        SGClient.MC.displayGuiScreen(new SGGuiMainMenu());
                    }
                }
            

            Comme indiqué par le commentaire, avec le nouveau système de gui de chargement de Minecraft, l’event GuiOpenEvent n’est plus appelé pour le premier affichage du menu principal. Il faut donc passer par GuiScreenEvent.InitGuiEvent.Pre

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

              ah ça change trop le code de minecraft aussi, c’est vraiment chiant à la longue de devoir réapprendre les systèmes en changeant de version

              J'aime les pâtes

              1 réponse Dernière réponse Répondre Citer 0
              • ? Hors-ligne
                Un Ancien Utilisateur
                dernière édition par

                C’est bon merci ça fonction maintenant ! Et je suis complètement d’accord avec toi blixow14 à la longue ça commence à devenir chiant…

                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

                  C’est pas nouveau et ce n’est pas spécifique à Minecraft : Le monde en entier change en permanence. Il faut savoir s’adapter, pas le choix 😉

                  1 réponse Dernière réponse Répondre Citer 2
                  • 1 / 1
                  • Premier message
                    Dernier message
                  Design by Woryk
                  ContactMentions Légales

                  MINECRAFT FORGE FRANCE © 2024

                  Powered by NodeBB