Menu pause | Menu Chat
-
Bonjours Comment je fait pour rajouter un bouton dans le MENU CHAT est qu’il exécute une commande ?
comment je fait pour créer des bouton ext s’il vous plait quand je fait échap ? VOIR IMAGE -
C’est le menu du chat ou le menu échap ?
-
@‘lapourgagner’:
C’est le menu du chat ou le menu échap ?
Bh je demende les 2 est limage que ta vue ces echap
-
Salut, Robin avait fait un tutoriel pour modifier le menu echap ainsi qu’une grande partie des menus mais c’est en 1.11.x même si je pense pas que ce soit si modifier entre les deux versions, faut voir
https://www.minecraftforgefrance.fr/showthread.php?tid=4480
Pour afficher l’éntité du player c’est assez facile puisque mojang le fait déjà dans le gui de l’inventaire avec drawEntityOnScreen dans le GuiInventory
-
@‘Fifou_BE’:
Salut, Robin avait fait un tutoriel pour modifier le menu echap ainsi qu’une grande partie des menus mais c’est en 1.11.x même si je pense pas que ce soit si modifier entre les deux versions, faut voir
https://www.minecraftforgefrance.fr/showthread.php?tid=4480
Pour afficher l’éntité du player c’est assez facile puisque mojang le fait déjà dans le gui de l’inventaire avec drawEntityOnScreen dans le GuiInventory
J’ai déja regarder mais ces pas pareil…
-
Au lieu de tous nous faire tourner autour du pot, ne penses-tu pas qu’il serait judicieux de nous montrer ton bout de code, si peu qu’il y en ait un ?!
-
@‘Plaigon’:
Au lieu de tous nous faire tourner autour du pot, ne penses-tu pas qu’il serait judicieux de nous montrer ton bout de code, si peu qu’il y en ait un ?!
Bh non il y en a pas j’arrive pas a faire se que je vous est demender en gros ajouter des bouton sur le chat et faire un nouveau menu echap
Ou j’es sapackage com.mod.exonia.gui; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiIngameMenu; import net.minecraft.client.gui.GuiMainMenu; import net.minecraft.client.gui.GuiOptions; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiShareToLan; import net.minecraft.client.gui.achievement.GuiAchievements; import net.minecraft.client.gui.achievement.GuiStats; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.client.resources.I18n; @SideOnly(Side.CLIENT) public class GuiIngame extends GuiIngameMenu { private int field_146445_a; private int field_146444_f; private static final String __OBFID = "CL_00000703"; /** * Adds the buttons (and other controls) to the screen in question. */ public void initGui() { this.field_146445_a = 0; this.buttonList.clear(); byte b0 = -16; boolean flag = true; this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + b0, I18n.format("menu.returnToMenu", new Object[0]))); if (!this.mc.isIntegratedServerRunning()) { ((GuiButton)this.buttonList.get(0)).displayString = I18n.format("menu.disconnect", new Object[0]); } this.buttonList.add(new GuiButton(4, this.width / 2 - 100, this.height / 4 + 24 + b0, I18n.format("menu.returnToGame", new Object[0]))); this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96 + b0, 98, 20, I18n.format("menu.options", new Object[0]))); this.buttonList.add(new GuiButton(12, this.width / 2 + 2, this.height / 4 + 96 + b0, 98, 20, "Mod Options…")); GuiButton guibutton; this.buttonList.add(guibutton = new GuiButton(7, this.width / 2 - 100, this.height / 4 + 72 + b0, 200, 20, I18n.format("menu.shareToLan", new Object[0]))); this.buttonList.add(new GuiButton(5, this.width / 2 - 100, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.achievements", new Object[0]))); this.buttonList.add(new GuiButton(6, this.width / 2 + 2, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.stats", new Object[0]))); guibutton.enabled = this.mc.isSingleplayer() && !this.mc.getIntegratedServer().getPublic(); } protected void actionPerformed(GuiButton p_146284_1_) { switch (p_146284_1_.id) { case 0: this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings)); break; case 1: p_146284_1_.enabled = false; this.mc.theWorld.sendQuittingDisconnectingPacket(); this.mc.loadWorld((WorldClient)null); this.mc.displayGuiScreen(new GuiMainMenu()); case 2: case 3: default: break; case 4: this.mc.displayGuiScreen((GuiScreen)null); this.mc.setIngameFocus(); break; case 5: if (this.mc.thePlayer != null) this.mc.displayGuiScreen(new GuiAchievements(this, this.mc.thePlayer.getStatFileWriter())); break; case 6: if (this.mc.thePlayer != null) this.mc.displayGuiScreen(new GuiStats(this, this.mc.thePlayer.getStatFileWriter())); break; case 7: this.mc.displayGuiScreen(new GuiShareToLan(this)); break; case 12: FMLClientHandler.instance().showInGameModOptions(this); break; } } /** * Called from the main game loop to update the screen. */ public void updateScreen() { super.updateScreen(); ++this.field_146444_f; } /** * Draws the screen and all the components in it. */ public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_) { this.drawDefaultBackground(); this.drawCenteredString(this.fontRendererObj, I18n.format("menu.game", new Object[0]), this.width / 2, 40, 16777215); super.drawScreen(p_73863_1_, p_73863_2_, p_73863_3_); } }
Mais je ne ces pas quoi mettre dans client proxy pour faire en sorte que sa prend cette classe
-
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
-
@‘Plaigon’:
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
Jai pas comprit ?
En gros jdois faire quoi ? j’ai pas comprit quand ta dit event.gui instanceof GuiInGameMenu -
@‘Plaigon’:
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
@‘Zokyt’:
@‘Plaigon’:
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
Jai pas comprit ?
En gros jdois faire quoi ? j’ai pas comprit quand ta dit event.gui instanceof GuiInGameMenuEn gros, c’est ce qui a été dis dans le tutoriel de Robin, même si il est en 1.11.x ceci est la manière de procéder …
Dans la classe client, ajoutez donc :
MinecraftForge.EVENT_BUS.register(this);
dans la fonction init. Cela va permettre d’enregistrer votre classe client comme une classe qui contient des événements.
Ajoutez ensuite la fonction suivante :@SubscribeEvent public void onOpenGui(GuiOpenEvent event) { if(event.getGui() != null && event.getGui().getClass() == GuiMainMenu.class) { event.setGui(new GuiCustomMainMenu()); } }
-
@‘Fifou_BE’:
@‘Plaigon’:
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
@‘Zokyt’:
@‘Plaigon’:
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
Jai pas comprit ?
En gros jdois faire quoi ? j’ai pas comprit quand ta dit event.gui instanceof GuiInGameMenuEn gros, c’est ce qui a été dis dans le tutoriel de Robin, même si il est en 1.11.x ceci est la manière de procéder …
Dans la classe client, ajoutez donc :
MinecraftForge.EVENT_BUS.register(this);
dans la fonction init. Cela va permettre d’enregistrer votre classe client comme une classe qui contient des événements.
Ajoutez ensuite la fonction suivante :@SubscribeEvent public void onOpenGui(GuiOpenEvent event) { if(event.getGui() != null && event.getGui().getClass() == GuiMainMenu.class) { event.setGui(new GuiCustomMainMenu()); } }
Comme sa ?
@SideOnly(Side.CLIENT) public void onTick(TickEvent.ClientTickEvent event) { Minecraft mc = FMLClientHandler.instance().getClient(); GuiScreen currentScreen = mc.currentScreen; if(mc.currentScreen != null && mc.currentScreen.getClass().equals(GuiMainMenu.class)) { mc.displayGuiScreen(new GuiCustomMainMenu()); } GuiGameOver currentGame = new GuiGameOver(); if(mc.currentScreen != null && mc.currentScreen.getClass().equals(GuiIngameMenu.class)) { mc.displayGuiScreen(new GuiScreen()); } @SubscribeEvent public void onOpenGui(GuiOpenEvent event) { if(event.getGui() != null && event.getGui().getClass() == GuiMainMenu.class) { event.setGui(new GuiCustomMainMenu()); } } }
Se que vous me donner marche pas
Je rere garder le tuto de robin mais quand je fait setGui bh sa ne marche pas ces en rouge
Sois j’ai le GuiOpenEvent en rouge sois ces getGui
@‘Zokyt’:
@‘Fifou_BE’:
@‘Plaigon’:
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
@‘Zokyt’:
@‘Plaigon’:
Sers toi de l’event GuiOpenEvent pour check si event.gui instanceof GuiInGameMenu, auquel cas tu remplaceras sa valeur par ton nouveau gui.
Jai pas comprit ?
En gros jdois faire quoi ? j’ai pas comprit quand ta dit event.gui instanceof GuiInGameMenuEn gros, c’est ce qui a été dis dans le tutoriel de Robin, même si il est en 1.11.x ceci est la manière de procéder …
Dans la classe client, ajoutez donc :
MinecraftForge.EVENT_BUS.register(this);
dans la fonction init. Cela va permettre d’enregistrer votre classe client comme une classe qui contient des événements.
Ajoutez ensuite la fonction suivante :@SubscribeEvent public void onOpenGui(GuiOpenEvent event) { if(event.getGui() != null && event.getGui().getClass() == GuiMainMenu.class) { event.setGui(new GuiCustomMainMenu()); } }
Comme sa ?
@SideOnly(Side.CLIENT) public void onTick(TickEvent.ClientTickEvent event) { Minecraft mc = FMLClientHandler.instance().getClient(); GuiScreen currentScreen = mc.currentScreen; if(mc.currentScreen != null && mc.currentScreen.getClass().equals(GuiMainMenu.class)) { mc.displayGuiScreen(new GuiCustomMainMenu()); } GuiGameOver currentGame = new GuiGameOver(); if(mc.currentScreen != null && mc.currentScreen.getClass().equals(GuiIngameMenu.class)) { mc.displayGuiScreen(new GuiScreen()); } @SubscribeEvent public void onOpenGui(GuiOpenEvent event) { if(event.getGui() != null && event.getGui().getClass() == GuiMainMenu.class) { event.setGui(new GuiCustomMainMenu()); } } }
Se que vous me donner marche pas
Je rere garder le tuto de robin mais quand je fait setGui bh sa ne marche pas ces en rouge
Sois j’ai le GuiOpenEvent en rouge sois ces getGui
Est voici mon code :
package com.mod.exonia.proxy; import com.mod.exonia.dynamite.EntityDynamite; import com.mod.exonia.gui.GuiIngame; import com.mod.exonia.gui.GuiMainMenuEventHandler; import com.mod.exonia.init.ItemMod; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent; import net.minecraft.client.gui.GuiIngameMenu; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.client.settings.KeyBinding; import net.minecraftforge.common.MinecraftForge; public class ClientProxy extends CommonProxy { public static KeyBinding keyBinding; @Override public void registerRenders() { RenderingRegistry.registerEntityRenderingHandler(EntityDynamite.class, new RenderSnowball(ItemMod.dynamite)); MinecraftForge.EVENT_BUS.register(new GuiMainMenuEventHandler()); } public ClientProxy() { FMLCommonHandler.instance().bus().register(new GuiMainMenuEventHandler()); MinecraftForge.EVENT_BUS.register(this); } @SubscribeEvent public void onEvent(KeyInputEvent event) { } public void GuiOpenEvent() { } private void keyPressed() { } @SubscribeEvent public void onOpenGui(GuiOpenEvent event) { if(event.getGui() != null && event.getGui().getClass() == GuiIngameMenu.class) { event.setGui(new GuiIngame()); } } }
-
Je ne cite pas ton message car trop de citation, mais sérieusement, dans ton client proxy tu devrais déjà avoir ça de base (regardez aux proxy et le client) :
https://www.minecraftforgefrance.fr/showthread.php?tid=587#classe3
Du coup la fonction INIT
devrait ressembler à ca :
@EventHandler public void init(FMLInitializationEvent event) { proxy.registerRender(); MinecraftForge.EVENT_BUS.register(this); }
Et à la suite de toutes les autres fonctions tu rajoutes le :
@SubscribeEvent public void onOpenGui(GuiOpenEvent event) { if(event.getGui() != null && event.getGui().getClass() == LENOMDUGUIAREMPLACER.class) { event.setGui(new TONGUI()); } }