Modifier le menu principal
-
ok j’essaye tout a l’heure et je te dis, merci
ça ne marche toujours pas
-
j’ai reussi a trouver merci en tous cas.
-
Ce message a été supprimé ! -
Ce message a été supprimé ! -
On peut modifier le menu de chargement ?
-
Oui mais pas de cette manière.
Il faut éditer le fichier splash.properties qui se trouve dans le dossier.minecraft/config -
@robin4002 ok mais il ya un moyen d’enlever les barres de chargement des mods et tout nan ?
-
suffit de mettre enabled=false dans le fichier en question.
-
Bonjour J’ai suivi votre tuto mes en 1.12.2 cette ligne ne marche plus
this.mc.launchIntegratedServer("Demo_World", "Demo_World", DemoWorldServer.DEMO_WORLD_SETTINGS)et également
if (this.openGLWarning1 != null && !this.openGLWarning1.isEmpty()) { drawRect(this.openGLWarningX1 - 2, this.openGLWarningY1 - 2, this.openGLWarningX2 + 2, this.openGLWarningY2 - 1, 1428160512); this.drawString(this.fontRenderer, this.openGLWarning1, this.openGLWarningX1, this.openGLWarningY1, -1); this.drawString(this.fontRenderer, this.openGLWarning2, (this.width - this.openGLWarning2Width) / 2, ((GuiButton)this.buttonList.get(0)).yPosition - 12, -1); }et
net.minecraftforge.client.ForgeHooksClient.mainMenuMouseClick(mouseX, mouseY, mouseButton, this.fontRenderer, this.width);j’ai une erreurs
Cannot resolve symbol ‘DemoWorldServer’
merci par avance de votre aide
-
J’imagine que tu as reprit le code depuis ici : https://gist.github.com/robin4002/0bb5f14f0967e78bc5aa0c795410f355
Il faudrait plutôt repartir du code de la classe GuiMainMenu 1.12.2 de Minecraft et corriger les erreurs comme expliqué :
Nous allons mettre dans cette classe le même contenu que celui de GuiMainMenu. Pour ouvrir cette classe, afin de copier/coller son contenu, retournez dans la classe client, appuyez sur la touche CTRL et cliquez sur “GuiMainMenu” au niveau de la condition. Alternativement, déroulez le menu “Referenced libraries” puis “forgeSrc-1.11.2-version-de-forge.jar” puis “net.minecraft.client.gui”, vous trouverez GuiMainMenu dans ce package.
Une fois la classe ouverte, sélectionnez le contenu de celle-ci à partir de la première accolade (celle en dessous de “public class GuiMainMenu extends GuiScreen”) jusqu’à la fin. Copiez le contenu puis collez-le dans votre classe GuiCustomMainMenu, à la place des deux accolades qui étaient présentes.
Il y aura quelques erreurs à corriger :- Commencez par faire ctrl + shift + o pour mettre à jour les importations.
- Le constructeur sera nommé GuiMainMenu (public GuiMainMenu()) il faut remplacer par GuiCustomMainMenu.
- Juste au dessus du constructeur, il y aura cette ligne : private net.minecraftforge.client.gui.NotificationModUpdateScreen modUpdateNotification;
- Retirez-la, c’est en rapport avec le système de vérification de mise à jour de forge, malheureusement nous n’allons pas pouvoir le conserver (car demande en constructeur un GuiMainMenu et non un GuiCustomMainMenu)
- Retirez les autres lignes :
modUpdateNotification = net.minecraftforge.client.gui.NotificationModUpdateScreen.init(this, modButton);
modUpdateNotification.drawScreen(mouseX, mouseY, partialTicks); - Forge demande à nouveau un GuiMainMenu pour une fonction, celle qui affiche un splash text spécifique si une ancienne version de java est présente. Retirez-la aussi. (this.splashText = net.minecraftforge.client.ForgeHooksClient.renderMainMenu(this, this.fontRenderer, this.width, this.height, this.splashText);)
- Dernier problème, une erreur en rapport avec Realms (qui ne nous intéresse pas du tout dans notre cas). Retirez tout le contenu en rapport avec Realms.
Ou alors tu peux simplement les supprimer, je ne pense pas que tu ais besoin du monde de demo et des avertissement openGL.
-
@robin4002 merci mes j’ai un nouveau problème le code semble cryptée ici
this.buttonList.add(new GuiButton(1, this.width / 2 - 100, p_73969_1_, I18n.format("menu.singleplayer"))); this.buttonList.add(new GuiButton(2, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.format("menu.multiplayer"))); this.realmsButton = this.addButton(new GuiButton(14, this.width / 2 + 2, p_73969_1_ + p_73969_2_ * 2, 98, 20, I18n.format("menu.online").replace("Minecraft", "").trim())); this.buttonList.add(modButton = new GuiButton(6, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 2, 98, 20, I18n.format("fml.menu.mods"))); -
cryptée ? Comment ça x) ? Il n’y a rien de cryptée, les variables ont juste un nom auto-généré par la décompilation qui ne sont pas explicites.
Regardes où elles sont déclaré et ça devrais être assez simple de comprendre ce qu’elles font.
-
@robin4002 merci, j’ai un autre souci avec le fichier de lang et je ne trouve pas mon erreur
private void addSingleplayerMultiplayerButtons(int p_73969_1_, int p_73969_2_) { this.buttonList.add(new GuiButton(20, 200, 0, I18n.format("menu.localserver"))); }en_us.lang
menu.localserver=Play The Server
Merci par avance de votre aide
-
Ton fichier en_us.lang se trouve où ?
-
@robin4002 assets.surfmenu.lang
-
Et ton modid c’est bien surfmenu ? Tu as d’autres ressources dans ce mod ou c’est la celle pour l’instant ?
-
package fr.surfruncraft.surfmenu; import org.apache.logging.log4j.Logger; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @Mod(modid = SurfMenu.MODID, name = "SurfMenu", version = "0.1", acceptedMinecraftVersions = "[1.12.2]") public class SurfMenu { public static final String MODID = "surfmenu"; public static Logger logger; @SidedProxy(clientSide = "fr.surfruncraft.surfmenu.client.SurfMenuClient", serverSide = "fr.surfruncraft.surfmenu.SurfMenuCommon") public static SurfMenuCommon proxy; @EventHandler public void preInit(FMLPreInitializationEvent event) { SurfMenu.logger = event.getModLog(); // initialise le logger. event.getModLog() retourne un logger avec votre modid SurfMenu.proxy.preInit(event.getSuggestedConfigurationFile()); } @EventHandler public void init(FMLInitializationEvent event) { SurfMenu.proxy.init(); } }
-
Tout est bon ici.
Tu peux essayer de compiler le mod avec
gradlew buildl’installer et regarder s’il y a le même problème ?
Si le problème n’est pas présent sur le mod compilé, c’est un problème avec IDEA qui ne reconnait pas correctement le dossier ressources dans certains cas. (par contre si c’est bien ça je ne connais pas le correctif, je n’utilise pas IDEA). -
@robin4002 sa me semble être idea ;(
-