MFF

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

    Modifier le menu principal

    Planifier Épinglé Verrouillé Déplacé Les interfaces (GUI) et les container
    1.11.x
    125 Messages 24 Publieurs 116.2k Vues 19 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

      Tu n’as rien à personnaliser.
      Il faut juste ouvrir ton menu quand GuiMultiplayer s’ouvre, en utilisant le même principe qu’au début de ce tutoriel.

      1 réponse Dernière réponse Répondre Citer 0
      • JustAnDevJ Hors-ligne
        JustAnDev
        dernière édition par robin4002

        Bonjour,en moddant le main menu j’arrive a cette conclusion qui me fout un crash(je suis en 1.12.2 et j’ai fait un peu de modif de code):

        A hug?No?Ok!

        package com.daichmff.SAOII;
        
        import java.awt.Toolkit;
        import java.awt.datatransfer.ClipboardOwner;
        import java.awt.datatransfer.DataFlavor;
        import java.awt.datatransfer.StringSelection;
        import java.awt.datatransfer.Transferable;
        import java.io.BufferedReader;
        import java.io.Closeable;
        import java.io.File;
        import java.io.IOException;
        import java.io.InputStreamReader;
        import java.net.URI;
        import java.net.URISyntaxException;
        import java.nio.charset.StandardCharsets;
        import java.util.Arrays;
        import java.util.Calendar;
        import java.util.Date;
        import java.util.List;
        import java.util.Locale;
        import java.util.Random;
        import java.util.Set;
        
        import org.apache.commons.io.IOUtils;
        import org.apache.commons.lang3.StringUtils;
        import org.apache.logging.log4j.LogManager;
        import org.apache.logging.log4j.Logger;
        import org.lwjgl.input.Keyboard;
        import org.lwjgl.input.Mouse;
        import org.lwjgl.opengl.GLContext;
        import org.lwjgl.util.glu.Project;
        
        import com.google.common.base.Splitter;
        import com.google.common.collect.Lists;
        import com.google.common.collect.Sets;
        import com.google.common.util.concurrent.Runnables;
        
        import net.minecraft.client.Minecraft;
        import net.minecraft.client.gui.FontRenderer;
        import net.minecraft.client.gui.GuiButton;
        import net.minecraft.client.gui.GuiButtonLanguage;
        import net.minecraft.client.gui.GuiConfirmOpenLink;
        import net.minecraft.client.gui.GuiLabel;
        import net.minecraft.client.gui.GuiLanguage;
        import net.minecraft.client.gui.GuiMultiplayer;
        import net.minecraft.client.gui.GuiOptions;
        import net.minecraft.client.gui.GuiScreen;
        import net.minecraft.client.gui.GuiWinGame;
        import net.minecraft.client.gui.GuiWorldSelection;
        import net.minecraft.client.gui.GuiYesNo;
        import net.minecraft.client.renderer.BufferBuilder;
        import net.minecraft.client.renderer.EntityRenderer;
        import net.minecraft.client.renderer.GlStateManager;
        import net.minecraft.client.renderer.OpenGlHelper;
        import net.minecraft.client.renderer.RenderHelper;
        import net.minecraft.client.renderer.RenderItem;
        import net.minecraft.client.renderer.Tessellator;
        import net.minecraft.client.renderer.texture.DynamicTexture;
        import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
        import net.minecraft.client.resources.I18n;
        import net.minecraft.client.resources.IResource;
        import net.minecraft.client.settings.GameSettings;
        import net.minecraft.client.util.ITooltipFlag;
        import net.minecraft.crash.CrashReport;
        import net.minecraft.crash.CrashReportCategory;
        import net.minecraft.crash.ICrashReportDetail;
        import net.minecraft.item.ItemStack;
        import net.minecraft.nbt.JsonToNBT;
        import net.minecraft.nbt.NBTBase;
        import net.minecraft.nbt.NBTException;
        import net.minecraft.nbt.NBTTagCompound;
        import net.minecraft.util.ReportedException;
        import net.minecraft.util.ResourceLocation;
        import net.minecraft.util.math.MathHelper;
        import net.minecraft.util.text.ITextComponent;
        import net.minecraft.util.text.TextFormatting;
        import net.minecraft.util.text.event.ClickEvent;
        import net.minecraft.util.text.event.HoverEvent;
        import net.minecraft.world.WorldServerDemo;
        import net.minecraft.world.storage.ISaveFormat;
        import net.minecraft.world.storage.WorldInfo;
        import net.minecraftforge.client.event.GuiScreenEvent;
        import net.minecraftforge.common.MinecraftForge;
        
        public class GuiCustomMainMenu extends GuiScreen {
        	  private static final Logger LOGGER = LogManager.getLogger();
        	    private static final Random RANDOM = new Random();
        	    /**
        	     * A random number between 0.0 and 1.0, used to determine if the title screen says <a
        	     * href="https://minecraft.gamepedia.com/Menu_screen#Minceraft">Minceraft</a> instead of Minecraft. Set during
        	     * construction; if the value is less than .0001, then Minceraft is displayed.
        	     */
        	    private final float minceraftRoll;
        	    /** The splash message. */
        	    private String splashText;
        	    private GuiButton buttonResetDemo;
        	    /** Timer used to rotate the panorama, increases every tick. */
        	    private float panoramaTimer;
        	    /** Texture allocated for the current viewport of the main menu's panorama background. */
        	    private DynamicTexture viewportTexture;
        	    /** The Object object utilized as a thread lock when performing non thread-safe operations */
        	    private final Object threadLock = new Object();
        	    public static final String MORE_INFO_TEXT = "Please click " + TextFormatting.UNDERLINE + "here" + TextFormatting.RESET + " for more information.";
        	    /** Width of openGLWarning2 */
        	    private int openGLWarning2Width;
        	    /** Width of openGLWarning1 */
        	    private int openGLWarning1Width;
        	    /** Left x coordinate of the OpenGL warning */
        	    private int openGLWarningX1;
        	    /** Top y coordinate of the OpenGL warning */
        	    private int openGLWarningY1;
        	    /** Right x coordinate of the OpenGL warning */
        	    private int openGLWarningX2;
        	    /** Bottom y coordinate of the OpenGL warning */
        	    private int openGLWarningY2;
        	    /** OpenGL graphics card warning. */
        	    private String openGLWarning1;
        	    /** OpenGL graphics card warning. */
        	    private String openGLWarning2;
        	    /** Link to the Mojang Support about minimum requirements */
        	    private String openGLWarningLink;
        	    private static final ResourceLocation SPLASH_TEXTS = new ResourceLocation("texts/splashes.txt");
        	    private static final ResourceLocation MINECRAFT_TITLE_TEXTURES = new ResourceLocation("textures/gui/title/minecraft.png");
        	    private static final ResourceLocation field_194400_H = new ResourceLocation("textures/gui/title/edition.png");
        	    /** An array of all the paths to the panorama pictures. */
        	    private static final ResourceLocation[] TITLE_PANORAMA_PATHS = new ResourceLocation[] {new ResourceLocation("sao2:textures/gui/title/background/panorama.png"), new ResourceLocation("sao2:textures/gui/title/background/panorama_1.png"), new ResourceLocation("sao2:textures/gui/title/background/panorama_2.png"), new ResourceLocation("sao2:textures/gui/title/background/panorama.png"), new ResourceLocation("sao2:textures/gui/title/background/panorama.png"), new ResourceLocation("sao2:textures/gui/title/background/panorama.png")};
        	    private ResourceLocation backgroundTexture;
        	    /** Minecraft //Realms button. */
        
        	    /** Has the check for a //Realms notification screen been performed? */
        	
        	    /**
        	     * A screen generated by //Realms for notifications; drawn in adition to the main menu (buttons and such from both are
        	     * drawn at the same time). May be null.
        	     */
        
        	    private int widthCopyright;
        	    private int widthCopyrightRest;
        	    private GuiButton modButton;
        	    private net.minecraftforge.client.gui.NotificationModUpdateScreen modUpdateNotification;
        
        	    public GuiCustomMainMenu()
        	    {
        	        this.openGLWarning2 = MORE_INFO_TEXT;
        	        this.splashText = "missingno";
        	        IResource iresource = null;
        
        	        try
        	        {
        	            List<String> list = Lists.<String>newArrayList();
        	            iresource = Minecraft.getMinecraft().getResourceManager().getResource(SPLASH_TEXTS);
        	            BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(iresource.getInputStream(), StandardCharsets.UTF_8));
        	            String s;
        
        	            while ((s = bufferedreader.readLine()) != null)
        	            {
        	                s = s.trim();
        
        	                if (!s.isEmpty())
        	                {
        	                    list.add(s);
        	                }
        	            }
        
        	            if (!list.isEmpty())
        	            {
        	                while (true)
        	                {
        	                    this.splashText = list.get(RANDOM.nextInt(list.size()));
        
        	                    if (this.splashText.hashCode() != 125780783)
        	                    {
        	                        break;
        	                    }
        	                }
        	            }
        	        }
        	        catch (IOException var8)
        	        {
        	            ;
        	        }
        	        finally
        	        {
        	            IOUtils.closeQuietly((Closeable)iresource);
        	        }
        
        	        this.minceraftRoll = RANDOM.nextFloat();
        	        this.openGLWarning1 = "";
        
        	        if (!GLContext.getCapabilities().OpenGL20 && !OpenGlHelper.areShadersSupported())
        	        {
        	            this.openGLWarning1 = I18n.format("title.oldgl1");
        	            this.openGLWarning2 = I18n.format("title.oldgl2");
        	            this.openGLWarningLink = "https://help.mojang.com/customer/portal/articles/325948?ref=game";
        	        }
        	    }
        
        	    /**
        	     * Is there currently a //Realms notification screen, and are //Realms notifications enabled?
        	     */
        
        	    /**
        	     * Called from the main game loop to update the screen.
        	     */
        
        
        
        
        
        	    public void updateScreen()
        	    {
        	      
        	    }
        
        	    /**
        	     * Returns true if this GUI should pause the game when it is displayed in single-player
        	     */
        	    public boolean doesGuiPauseGame()
        	    {
        	        return false;
        	    }
        
        	    /**
        	     * Fired when a key is typed (except F11 which toggles full screen). This is the equivalent of
        	     * KeyListener.keyTyped(KeyEvent e). Args : character (character on the key), keyCode (lwjgl Keyboard key code)
        	     */
        	    protected void keyTyped(char typedChar, int keyCode) throws IOException
        	    {
        	    }
        
        	    /**
        	     * Adds the buttons (and other controls) to the screen in question. Called when the GUI is displayed and when the
        	     * window resizes, the buttonList is cleared beforehand.
        	     */
        	    public void initGui()
        	    {
        	        this.viewportTexture = new DynamicTexture(256, 256);
        	        this.backgroundTexture = this.mc.getTextureManager().getDynamicTextureLocation("background", this.viewportTexture);
        	        this.widthCopyright = this.fontRenderer.getStringWidth("Copyright Mojang AB. Do not distribute!");
        	        this.widthCopyrightRest = this.width - this.widthCopyright - 2;
        	        Calendar calendar = Calendar.getInstance();
        	        calendar.setTime(new Date());
        
        	        if (calendar.get(2) + 1 == 12 && calendar.get(5) == 24)
        	        {
        	            this.splashText = "Merry X-mas!";
        	        }
        	        else if (calendar.get(2) + 1 == 1 && calendar.get(5) == 1)
        	        {
        	            this.splashText = "Happy new year!";
        	        }
        	        else if (calendar.get(2) + 1 == 10 && calendar.get(5) == 31)
        	        {
        	            this.splashText = "OOoooOOOoooo! Spooky!";
        	        }
        
        	        int i = 24;
        	        int j = this.height / 4 + 48;
        
        	        if (this.mc.isDemo())
        	        {
        	            this.addDemoButtons(j, 24);
        	        }
        	        else
        	        {
        	            this.addSingleplayerMultiplayerButtons(j, 24);
        	        }
        
        	        this.buttonList.add(new GuiButton(0, this.width / 2 - 100, j + 72 + 12, 98, 20, I18n.format("menu.options")));
        	        this.buttonList.add(new GuiButton(4, this.width / 2 + 2, j + 72 + 12, 98, 20, I18n.format("menu.quit")));
        	        this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, j + 72 + 12));
        
        	        synchronized (this.threadLock)
        	        {
        	            this.openGLWarning1Width = this.fontRenderer.getStringWidth(this.openGLWarning1);
        	            this.openGLWarning2Width = this.fontRenderer.getStringWidth(this.openGLWarning2);
        	            int k = Math.max(this.openGLWarning1Width, this.openGLWarning2Width);
        	            this.openGLWarningX1 = (this.width - k) / 2;
        	            this.openGLWarningY1 = (this.buttonList.get(0)).y - 24;
        	            this.openGLWarningX2 = this.openGLWarningX1 + k;
        	            this.openGLWarningY2 = this.openGLWarningY1 + 24;
        	        }
        
        	
        	        
        	    }
        
        	    /**
        	     * Adds Singleplayer and Multiplayer buttons on Main Menu for players who have bought the game.
        	     */
        	    private void addSingleplayerMultiplayerButtons(int p_73969_1_, int p_73969_2_)
        	    {
        	        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")));
        	       
        	    }
        
        	    /**
        	     * Adds Demo buttons on Main Menu for players who are playing Demo.
        	     */
        	    private void addDemoButtons(int p_73972_1_, int p_73972_2_)
        	    {
        	        this.buttonList.add(new GuiButton(11, this.width / 2 - 100, p_73972_1_, I18n.format("menu.playdemo")));
        	        this.buttonResetDemo = this.addButton(new GuiButton(12, this.width / 2 - 100, p_73972_1_ + p_73972_2_ * 1, I18n.format("menu.resetdemo")));
        	        ISaveFormat isaveformat = this.mc.getSaveLoader();
        	        WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
        
        	        if (worldinfo == null)
        	        {
        	            this.buttonResetDemo.enabled = false;
        	        }
        	    }
        
        	    /**
        	     * Called by the controls from the buttonList when activated. (Mouse pressed for buttons)
        	     */
        	    protected void actionPerformed(GuiButton button) throws IOException
        	    {
        	        if (button.id == 0)
        	        {
        	            this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
        	        }
        
        	        if (button.id == 5)
        	        {
        	            this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings, this.mc.getLanguageManager()));
        	        }
        
        	        if (button.id == 1)
        	        {
        	            this.mc.displayGuiScreen(new GuiWorldSelection(this));
        	        }
        
        	        if (button.id == 2)
        	        {
        	            this.mc.displayGuiScreen(new GuiMultiplayer(this));
        	        }
        
        	      
        
        	        if (button.id == 4)
        	        {
        	            this.mc.shutdown();
        	        }
        
        	        if (button.id == 6)
        	        {
        	            this.mc.displayGuiScreen(new net.minecraftforge.fml.client.GuiModList(this));
        	        }
        
        	        if (button.id == 11)
        	        {
        	            this.mc.launchIntegratedServer("Demo_World", "Demo_World", WorldServerDemo.DEMO_WORLD_SETTINGS);
        	        }
        
        	        if (button.id == 12)
        	        {
        	            ISaveFormat isaveformat = this.mc.getSaveLoader();
        	            WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
        
        	            if (worldinfo != null)
        	            {
        	                this.mc.displayGuiScreen(new GuiYesNo(this, I18n.format("selectWorld.deleteQuestion"), "'" + worldinfo.getWorldName() + "' " + I18n.format("selectWorld.deleteWarning"), I18n.format("selectWorld.deleteButton"), I18n.format("gui.cancel"), 12));
        	            }
        	        }
        	    }
        
        	  
        
        	    public void confirmClicked(boolean result, int id)
        	    {
        	        if (result && id == 12)
        	        {
        	            ISaveFormat isaveformat = this.mc.getSaveLoader();
        	            isaveformat.flushCache();
        	            isaveformat.deleteWorldDirectory("Demo_World");
        	            this.mc.displayGuiScreen(this);
        	        }
        	        else if (id == 12)
        	        {
        	            this.mc.displayGuiScreen(this);
        	        }
        	        else if (id == 13)
        	        {
        	            if (result)
        	            {
        	                try
        	                {
        	                    Class<?> oclass = Class.forName("java.awt.Desktop");
        	                    Object object = oclass.getMethod("getDesktop").invoke((Object)null);
        	                    oclass.getMethod("browse", URI.class).invoke(object, new URI(this.openGLWarningLink));
        	                }
        	                catch (Throwable throwable)
        	                {
        	                    LOGGER.error("Couldn't open link", throwable);
        	                }
        	            }
        
        	            this.mc.displayGuiScreen(this);
        	        }
        	    }
        
        	    /**
        	     * Draws the main menu panorama
        	     */
        	    private void drawPanorama(int mouseX, int mouseY, float partialTicks)
        	    {
        	        Tessellator tessellator = Tessellator.getInstance();
        	        BufferBuilder bufferbuilder = tessellator.getBuffer();
        	        GlStateManager.matrixMode(5889);
        	        GlStateManager.pushMatrix();
        	        GlStateManager.loadIdentity();
        	        Project.gluPerspective(120.0F, 1.0F, 0.05F, 10.0F);
        	        GlStateManager.matrixMode(5888);
        	        GlStateManager.pushMatrix();
        	        GlStateManager.loadIdentity();
        	        GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
        	        GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F);
        	        GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F);
        	        GlStateManager.enableBlend();
        	        GlStateManager.disableAlpha();
        	        GlStateManager.disableCull();
        	        GlStateManager.depthMask(false);
        	        GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
        	        int i = 8;
        
        	        for (int j = 0; j < 64; ++j)
        	        {
        	            GlStateManager.pushMatrix();
        	            float f = ((float)(j % 8) / 8.0F - 0.5F) / 64.0F;
        	            float f1 = ((float)(j / 8) / 8.0F - 0.5F) / 64.0F;
        	            float f2 = 0.0F;
        	            GlStateManager.translate(f, f1, 0.0F);
        	            GlStateManager.rotate(MathHelper.sin(this.panoramaTimer / 400.0F) * 25.0F + 20.0F, 1.0F, 0.0F, 0.0F);
        	            GlStateManager.rotate(-this.panoramaTimer * 0.1F, 0.0F, 1.0F, 0.0F);
        
        	            for (int k = 0; k < 6; ++k)
        	            {
        	                GlStateManager.pushMatrix();
        
        	                if (k == 1)
        	                {
        	                    GlStateManager.rotate(90.0F, 0.0F, 1.0F, 0.0F);
        	                }
        
        	                if (k == 2)
        	                {
        	                    GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F);
        	                }
        
        	                if (k == 3)
        	                {
        	                    GlStateManager.rotate(-90.0F, 0.0F, 1.0F, 0.0F);
        	                }
        
        	                if (k == 4)
        	                {
        	                    GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
        	                }
        
        	                if (k == 5)
        	                {
        	                    GlStateManager.rotate(-90.0F, 1.0F, 0.0F, 0.0F);
        	                }
        
        	                this.mc.getTextureManager().bindTexture(TITLE_PANORAMA_PATHS[k]);
        	                bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
        	                int l = 255 / (j + 1);
        	                float f3 = 0.0F;
        	                bufferbuilder.pos(-1.0D, -1.0D, 1.0D).tex(0.0D, 0.0D).color(255, 255, 255, l).endVertex();
        	                bufferbuilder.pos(1.0D, -1.0D, 1.0D).tex(1.0D, 0.0D).color(255, 255, 255, l).endVertex();
        	                bufferbuilder.pos(1.0D, 1.0D, 1.0D).tex(1.0D, 1.0D).color(255, 255, 255, l).endVertex();
        	                bufferbuilder.pos(-1.0D, 1.0D, 1.0D).tex(0.0D, 1.0D).color(255, 255, 255, l).endVertex();
        	                tessellator.draw();
        	                GlStateManager.popMatrix();
        	            }
        
        	            GlStateManager.popMatrix();
        	            GlStateManager.colorMask(true, true, true, false);
        	        }
        
        	        bufferbuilder.setTranslation(0.0D, 0.0D, 0.0D);
        	        GlStateManager.colorMask(true, true, true, true);
        	        GlStateManager.matrixMode(5889);
        	        GlStateManager.popMatrix();
        	        GlStateManager.matrixMode(5888);
        	        GlStateManager.popMatrix();
        	        GlStateManager.depthMask(true);
        	        GlStateManager.enableCull();
        	        GlStateManager.enableDepth();
        	    }
        
        	    /**
        	     * Rotate and blurs the skybox view in the main menu
        	     */
        	    private void rotateAndBlurSkybox()
        	    {
        	        this.mc.getTextureManager().bindTexture(this.backgroundTexture);
        	        GlStateManager.glTexParameteri(3553, 10241, 9729);
        	        GlStateManager.glTexParameteri(3553, 10240, 9729);
        	        GlStateManager.glCopyTexSubImage2D(3553, 0, 0, 0, 0, 0, 256, 256);
        	        GlStateManager.enableBlend();
        	        GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
        	        GlStateManager.colorMask(true, true, true, false);
        	        Tessellator tessellator = Tessellator.getInstance();
        	        BufferBuilder bufferbuilder = tessellator.getBuffer();
        	        bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
        	        GlStateManager.disableAlpha();
        	        int i = 3;
        
        	        for (int j = 0; j < 3; ++j)
        	        {
        	            float f = 1.0F / (float)(j + 1);
        	            int k = this.width;
        	            int l = this.height;
        	            float f1 = (float)(j - 1) / 256.0F;
        	            bufferbuilder.pos((double)k, (double)l, (double)this.zLevel).tex((double)(0.0F + f1), 1.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
        	            bufferbuilder.pos((double)k, 0.0D, (double)this.zLevel).tex((double)(1.0F + f1), 1.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
        	            bufferbuilder.pos(0.0D, 0.0D, (double)this.zLevel).tex((double)(1.0F + f1), 0.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
        	            bufferbuilder.pos(0.0D, (double)l, (double)this.zLevel).tex((double)(0.0F + f1), 0.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
        	        }
        
        	        tessellator.draw();
        	        GlStateManager.enableAlpha();
        	        GlStateManager.colorMask(true, true, true, true);
        	    }
        
        	    /**
        	     * Renders the skybox in the main menu
        	     */
        	    private void renderSkybox(int mouseX, int mouseY, float partialTicks)
        	    {
        	        this.mc.getFramebuffer().unbindFramebuffer();
        	        GlStateManager.viewport(0, 0, 256, 256);
        	        this.drawPanorama(mouseX, mouseY, partialTicks);
        	        this.rotateAndBlurSkybox();
        	        this.rotateAndBlurSkybox();
        	        this.rotateAndBlurSkybox();
        	        this.rotateAndBlurSkybox();
        	        this.rotateAndBlurSkybox();
        	        this.rotateAndBlurSkybox();
        	        this.rotateAndBlurSkybox();
        	        this.mc.getFramebuffer().bindFramebuffer(true);
        	        GlStateManager.viewport(0, 0, this.mc.displayWidth, this.mc.displayHeight);
        	        float f = 120.0F / (float)(this.width > this.height ? this.width : this.height);
        	        float f1 = (float)this.height * f / 256.0F;
        	        float f2 = (float)this.width * f / 256.0F;
        	        int i = this.width;
        	        int j = this.height;
        	        Tessellator tessellator = Tessellator.getInstance();
        	        BufferBuilder bufferbuilder = tessellator.getBuffer();
        	        bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
        	        bufferbuilder.pos(0.0D, (double)j, (double)this.zLevel).tex((double)(0.5F - f1), (double)(0.5F + f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
        	        bufferbuilder.pos((double)i, (double)j, (double)this.zLevel).tex((double)(0.5F - f1), (double)(0.5F - f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
        	        bufferbuilder.pos((double)i, 0.0D, (double)this.zLevel).tex((double)(0.5F + f1), (double)(0.5F - f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
        	        bufferbuilder.pos(0.0D, 0.0D, (double)this.zLevel).tex((double)(0.5F + f1), (double)(0.5F + f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
        	        tessellator.draw();
        	    }
        
        	    /**
        	     * Draws the screen and all the components in it.
        	     */
        	    public void drawScreen(int mouseX, int mouseY, float partialTicks)
        	    {
        	        this.panoramaTimer += partialTicks;
        	        GlStateManager.disableAlpha();
        	        this.renderSkybox(mouseX, mouseY, partialTicks);
        	        GlStateManager.enableAlpha();
        	        int i = 274;
        	        int j = this.width / 2 - 137;
        	        int k = 30;
        	        this.drawGradientRect(0, 0, this.width, this.height, -2130706433, 16777215);
        	        this.drawGradientRect(0, 0, this.width, this.height, 0, Integer.MIN_VALUE);
        	        this.mc.getTextureManager().bindTexture(MINECRAFT_TITLE_TEXTURES);
        	        GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
        
        	        if ((double)this.minceraftRoll < 1.0E-4D)
        	        {
        	            this.drawTexturedModalRect(j + 0, 30, 0, 0, 99, 44);
        	            this.drawTexturedModalRect(j + 99, 30, 129, 0, 27, 44);
        	            this.drawTexturedModalRect(j + 99 + 26, 30, 126, 0, 3, 44);
        	            this.drawTexturedModalRect(j + 99 + 26 + 3, 30, 99, 0, 26, 44);
        	            this.drawTexturedModalRect(j + 155, 30, 0, 45, 155, 44);
        	        }
        	        else
        	        {
        	            this.drawTexturedModalRect(j + 0, 30, 0, 0, 155, 44);
        	            this.drawTexturedModalRect(j + 155, 30, 0, 45, 155, 44);
        	        }
        
        	        this.mc.getTextureManager().bindTexture(field_194400_H);
        	        drawModalRectWithCustomSizedTexture(j + 88, 67, 0.0F, 0.0F, 98, 14, 128.0F, 16.0F);
        
        	     
        
        	        GlStateManager.pushMatrix();
        	        GlStateManager.translate((float)(this.width / 2 + 90), 70.0F, 0.0F);
        	        GlStateManager.rotate(-20.0F, 0.0F, 0.0F, 1.0F);
        	        float f = 1.8F - MathHelper.abs(MathHelper.sin((float)(Minecraft.getSystemTime() % 1000L) / 1000.0F * ((float)Math.PI * 2F)) * 0.1F);
        	        f = f * 100.0F / (float)(this.fontRenderer.getStringWidth(this.splashText) + 32);
        	        GlStateManager.scale(f, f, f);
        	        this.drawCenteredString(this.fontRenderer, this.splashText, 0, -8, -256);
        	        GlStateManager.popMatrix();
        	        String s = "GunGaleOnline 0.1";
        
        	        if (this.mc.isDemo())
        	        {
        	            s = s + " Demo";
        	        }
        	        else
        	        {
        	            s = s + ("release".equalsIgnoreCase(this.mc.getVersionType()) ? "" : "/" + this.mc.getVersionType());
        	        }
        
        	        java.util.List<String> brandings = com.google.common.collect.Lists.reverse(net.minecraftforge.fml.common.FMLCommonHandler.instance().getBrandings(true));
        	        for (int brdline = 0; brdline < brandings.size(); brdline++)
        	        {
        	            String brd = brandings.get(brdline);
        	            if (!com.google.common.base.Strings.isNullOrEmpty(brd))
        	            {
        	                this.drawString(this.fontRenderer, brd, 2, this.height - ( 10 + brdline * (this.fontRenderer.FONT_HEIGHT + 1)), 16777215);
        	            }
        	        }
        
        	        this.drawString(this.fontRenderer, "Copyright Mojang AB. Do not distribute!", this.widthCopyrightRest, this.height - 10, -1);
        	        this.drawString(this.fontRenderer, "<Kirito>:What?!!!,<Mojang AB>:Hello!,<Microsoft Corp>:Hello!!,<Kirito>:I'am in GGO?,<Mojang AB>:You are ine Minecraft Java Edition(forge),<Microsoft>:I hate FORGE!!!!,Connect to GGO button has Spawned!", this.widthCopyrightRest, this.height - 13, 0);
                    //It's easter egg for "Kirito","Mojang" and "Microsoft"
        	        if (mouseX > this.widthCopyrightRest && mouseX < this.widthCopyrightRest + this.widthCopyright && mouseY > this.height - 10 && mouseY < this.height && Mouse.isInsideWindow())
        	        {
        	            drawRect(this.widthCopyrightRest, this.height - 1, this.widthCopyrightRest + this.widthCopyright, this.height, -1);
        	        }
        
        	        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, (this.buttonList.get(0)).y - 12, -1);
        	        }
        
        	        super.drawScreen(mouseX, mouseY, partialTicks);
        	        
        	    }
        
        	    /**
        	     * Called when the mouse is clicked. Args : mouseX, mouseY, clickedButton
        	     */
        	    protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException
        	    {
        	        super.mouseClicked(mouseX, mouseY, mouseButton);
        
        	        synchronized (this.threadLock)
        	        {
        	            if (!this.openGLWarning1.isEmpty() && !StringUtils.isEmpty(this.openGLWarningLink) && mouseX >= this.openGLWarningX1 && mouseX <= this.openGLWarningX2 && mouseY >= this.openGLWarningY1 && mouseY <= this.openGLWarningY2)
        	            {
        	                GuiConfirmOpenLink guiconfirmopenlink = new GuiConfirmOpenLink(this, this.openGLWarningLink, 13, true);
        	                guiconfirmopenlink.disableSecurityWarning();
        	                this.mc.displayGuiScreen(guiconfirmopenlink);
        	            }
        	        }
        
        	       
        
        	        if (mouseX > this.widthCopyrightRest && mouseX < this.widthCopyrightRest + this.widthCopyright && mouseY > this.height - 10 && mouseY < this.height)
        	        {
        	            this.mc.displayGuiScreen(new GuiWinGame(false, Runnables.doNothing()));
        	        }
        	    }
        
        	    /**
        	     * Called when the screen is unloaded. Used to disable keyboard repeat events
        	     */
        	    public static void drawScreen(GuiScreen screen, int mouseX, int mouseY, float partialTicks)
        	    {
        	        if (!MinecraftForge.EVENT_BUS.post(new GuiScreenEvent.DrawScreenEvent.Pre(screen, mouseX, mouseY, partialTicks)))
        	            screen.drawScreen(mouseX, mouseY, partialTicks);
        	        MinecraftForge.EVENT_BUS.post(new GuiScreenEvent.DrawScreenEvent.Post(screen, mouseX, mouseY, partialTicks));
        	    }
        	    {
        	    if (this.mc.currentScreen != null)
                {
                    GlStateManager.clear(256);
        
                    try
                    {
                        net.minecraftforge.client.ForgeHooksClient.drawScreen(this.mc.currentScreen, height, width, this.mc.getTickLength());
                    }
                    catch (Throwable throwable)
                    {
                       
                    }
                }
            }
        	    {
        }
        }
        
        

        le crash

        [15:07:33] [main/INFO] [mojang/NarratorWindows]: Narrator library for x64 successfully loaded
        [15:07:35] [main/ERROR] [FML]: Exception caught during firing event net.minecraftforge.client.event.GuiOpenEvent@6615cc2e:
        java.lang.NullPointerException: null
        	at com.daichmff.SAOII.GuiCustomMainMenu.<init>(GuiCustomMainMenu.java:679) ~[GuiCustomMainMenu.class:?]
        	at com.daichmff.SAOII.DaichSaoIIClient.onOpenGui(DaichSaoIIClient.java:95) ~[DaichSaoIIClient.class:?]
        	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_DaichSaoIIClient_onOpenGui_GuiOpenEvent.invoke(.dynamic) ~[?:?]
        	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
        	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) [EventBus.class:?]
        	at net.minecraft.client.Minecraft.displayGuiScreen(Minecraft.java:1063) [Minecraft.class:?]
        	at net.minecraft.client.Minecraft.init(Minecraft.java:591) [Minecraft.class:?]
        	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
        	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
        	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
        	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
        	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
        	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
        	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201]
        	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201]
        	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
        	at GradleStart.main(GradleStart.java:25) [start/:?]
        [15:07:37] [main/ERROR] [FML]: Index: 2 Listeners:
        [15:07:37] [main/ERROR] [FML]: 0: NORMAL
        [15:07:37] [main/ERROR] [FML]: 1: ASM: com.daichmff.SAOII.DaichSaoIIClient@4f168322 onGuiOpen(Lnet/minecraftforge/client/event/GuiOpenEvent;)V
        [15:07:37] [main/ERROR] [FML]: 2: ASM: com.daichmff.SAOII.DaichSaoIIClient@4f168322 onOpenGui(Lnet/minecraftforge/client/event/GuiOpenEvent;)V
        [15:07:41] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: ---- Minecraft Crash Report ----
        // I'm sorry, Dave.
        
        Time: 5/19/19 3:07 PM
        Description: Initializing game
        
        java.lang.NullPointerException: Initializing game
        	at com.daichmff.SAOII.GuiCustomMainMenu.<init>(GuiCustomMainMenu.java:679)
        	at com.daichmff.SAOII.DaichSaoIIClient.onOpenGui(DaichSaoIIClient.java:95)
        	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_DaichSaoIIClient_onOpenGui_GuiOpenEvent.invoke(.dynamic)
        	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
        	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
        	at net.minecraft.client.Minecraft.displayGuiScreen(Minecraft.java:1063)
        	at net.minecraft.client.Minecraft.init(Minecraft.java:591)
        	at net.minecraft.client.Minecraft.run(Minecraft.java:421)
        	at net.minecraft.client.main.Main.main(Main.java:118)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        	at java.lang.reflect.Method.invoke(Unknown Source)
        	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
        	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        	at java.lang.reflect.Method.invoke(Unknown Source)
        	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
        	at GradleStart.main(GradleStart.java:25)
        
        
        A detailed walkthrough of the error, its code path and all known details is as follows:
        ---------------------------------------------------------------------------------------
        
        -- Head --
        Thread: Client thread
        Stacktrace:
        	at com.daichmff.SAOII.GuiCustomMainMenu.<init>(GuiCustomMainMenu.java:679)
        	at com.daichmff.SAOII.DaichSaoIIClient.onOpenGui(DaichSaoIIClient.java:95)
        	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_DaichSaoIIClient_onOpenGui_GuiOpenEvent.invoke(.dynamic)
        	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
        	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
        	at net.minecraft.client.Minecraft.displayGuiScreen(Minecraft.java:1063)
        	at net.minecraft.client.Minecraft.init(Minecraft.java:591)
        
        -- Initialization --
        Details:
        Stacktrace:
        	at net.minecraft.client.Minecraft.run(Minecraft.java:421)
        	at net.minecraft.client.main.Main.main(Main.java:118)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        	at java.lang.reflect.Method.invoke(Unknown Source)
        	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
        	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        	at java.lang.reflect.Method.invoke(Unknown Source)
        	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
        	at GradleStart.main(GradleStart.java:25)
        
        -- System Details --
        Details:
        	Minecraft Version: 1.12.2
        	Operating System: Windows 10 (amd64) version 10.0
        	Java Version: 1.8.0_201, Oracle Corporation
        	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
        	Memory: 810886832 bytes (773 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
        	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
        	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
        	FML: MCP 9.42 Powered by Forge 14.23.5.2768 5 mods loaded, 5 mods active
        	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
        
        	| State  | ID        | Version      | Source                           | Signature |
        	|:------ |:--------- |:------------ |:-------------------------------- |:--------- |
        	| UCHIJA | minecraft | 1.12.2       | minecraft.jar                    | None      |
        	| UCHIJA | mcp       | 9.42         | minecraft.jar                    | None      |
        	| UCHIJA | FML       | 8.0.99.99    | forgeSrc-1.12.2-14.23.5.2768.jar | None      |
        	| UCHIJA | forge     | 14.23.5.2768 | forgeSrc-1.12.2-14.23.5.2768.jar | None      |
        	| UCHIJA | sao2      | 0.1          | bin                              | None      |
        

        Merci!

        s

        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

          Alors je ne sais pas ce que tu cherches à faire, mais toutes les lignes après la 672 (la fonction drawScreen qui est en static ?!!??? et ce qui suit) n’a aucun sens et n’a rien à faire là.

          Retires tout ça …

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

            Merci !(pk j’ai pris le code que je vois en premier…)

            s

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

              Salut j’ai un problème sur ce tuto quand je créér le bouton discord les images ne s’affiche pas et les fichiers lang ne sont pas lu je suis en 1.12.2 et j’ai un screentext alternatif

              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

                Peux-tu envoyer le code des boutons concernés par le problème ?

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

                  package fr.masterpala.scp15.client;
                  
                  import fr.masterpala.scp15.Main;
                  import net.minecraft.client.Minecraft;
                  import net.minecraft.client.gui.Gui;
                  import net.minecraft.client.gui.GuiButton;
                  import net.minecraft.client.renderer.GlStateManager;
                  import net.minecraft.util.ResourceLocation;
                  
                  public class GuiButtonDiscord extends GuiButton
                  {
                      private static final ResourceLocation DISCORD_ICON = new ResourceLocation(Main.MODID, "textures/gui/discord.png");
                  
                      private static final ResourceLocation DISCORD_HOVER_ICON = new ResourceLocation(Main.MODID, "textures/gui/discord_hover.png");
                  
                      public GuiButtonDiscord(int buttonId, int x, int y)
                      {
                          super(buttonId, x, y, 20, 20, ""); // taille de 20x20, pas de nom
                      }
                  
                      public void drawButton(Minecraft mc, int mouseX, int mouseY)
                      {
                  
                          if(this.visible)
                          {
                          	GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
                              boolean mouseHover = mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.width && mouseY < this.y + this.height;
                  
                              if(mouseHover) // si la souris est sur le bouton
                              {
                              	mc.getTextureManager().bindTexture(DISCORD_HOVER_ICON);
                              }
                              else
                              {
                                  mc.getTextureManager().bindTexture(DISCORD_ICON);
                              }
                  
                              Gui.drawScaledCustomSizeModalRect(this.x, this.y, 0, 0, 128, 128, 20, 20, 128, 128);
                          }
                      }
                  
                  }
                  
                  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

                    Et le code de l’endroit où tu utilises le bouton ?

                    (pareil pour le bouton menu.localserver, il faut le code où tu initialises ce bouton).

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

                      j’ai régler le problème du bouton local server en mettant le nom sans passer par les fichiers langs mais j’ai toujours le problème de l’image

                       private void addSingleplayerMultiplayerButtons(int p_73969_1_, int p_73969_2_)
                          {
                          	
                              this.buttonList.add(new GuiButton(20, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.format("Entre dans la fondation")));
                      
                              this.buttonList.add(new GuiButtonDiscord(21, this.width / 2 - 124, p_73969_1_ + 48));
                          }
                      
                      
                      //condition du bouton dans la méthode actionperfomed()
                              if(button.id == 21)
                      
                              {
                      
                                  try
                      
                                  {
                      
                                      Desktop.getDesktop().browse(new URI("https://discord.gg/NbAvNae"));
                      
                                  }
                      
                                  catch(URISyntaxException e)
                      
                                  {
                      
                                      e.printStackTrace();
                      
                                  }
                      

                      Voila ce que ça donne une fois modification faite mais y s’il y a toujours le problème du bouton discord

                      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

                        Si tu ne passes pas par le fichier de lang remplaces I18n.format("Entre dans la fondation") par juste "Entre dans la fondation".

                        Dans la classe de ton button, il se passe quoi si tu ajoutes @Override au dessus de drawButton ?

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

                          Il y a un erreur et cela ne marche pas

                          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

                            Donc c’est que tu n’as pas le bon nom de fonction.
                            Regardes dans la classe GuiButton, tu devrais trouver le bon nom.

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

                              je n’ai pas compris

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

                                Merci j’ai changer quelque truc dans le code et cela a marcher

                                package fr.masterpala.scp15.client;
                                
                                import fr.masterpala.scp15.Main;
                                import net.minecraft.client.Minecraft;
                                import net.minecraft.client.gui.Gui;
                                import net.minecraft.client.gui.GuiButton;
                                import net.minecraft.client.renderer.GlStateManager;
                                import net.minecraft.util.ResourceLocation;
                                
                                public class GuiButtonDiscord extends GuiButton
                                {
                                    private static final ResourceLocation DISCORD_ICON = new ResourceLocation(Main.MODID, "textures/gui/discord.png");
                                    private static final ResourceLocation DISCORD_HOVER_ICON = new ResourceLocation(Main.MODID, "textures/gui/discord_hover.png");
                                
                                    public  GuiButtonDiscord(int buttonID, int xPos, int yPos)
                                    {
                                        super(buttonID, xPos, yPos, 20, 20, "");
                                    }
                                
                                    /**
                                     * Draws this button to the screen.
                                     */
                                    public void drawButton(Minecraft mc, int mouseX, int mouseY, float partialTicks)
                                    {
                                        if (this.visible)
                                        {
                                            mc.getTextureManager().bindTexture(DISCORD_ICON);
                                            GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
                                            boolean flag = mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.width && mouseY < this.y + this.height;
                                            boolean mouseHover = mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.width && mouseY < this.y + this.height;
                                            if(mouseHover) // si la souris est sur le bouton
                                            {
                                                mc.getTextureManager().bindTexture(DISCORD_HOVER_ICON);
                                            }
                                            else
                                            {
                                                mc.getTextureManager().bindTexture(DISCORD_ICON);
                                            }
                                
                                            Gui.drawScaledCustomSizeModalRect(this.x, this.y, 0, 0, 128, 128, 20, 20, 128, 128);
                                        }
                                    }
                                }
                                1 réponse Dernière réponse Répondre Citer 0
                                • M Hors-ligne
                                  Master_Pala
                                  dernière édition par

                                  ah bas non enfaite j’ai un crash quand je lance le jeu avec d’autre mods

                                  ---- Minecraft Crash Report ----
                                  
                                  WARNING: coremods are present:
                                    CTMCorePlugin (CTM-MC1.12-0.2.3.9 (2).jar)
                                    FMLModule (mdxlib-3.0.0.14.jar)
                                    OpenModsCorePlugin (OpenModsLib-1.12.2-0.12.1.jar)
                                  Contact their authors BEFORE contacting forge
                                  
                                  // Oh - I know what I did wrong!
                                  
                                  Time: 7/10/19 11:19 AM
                                  Description: Initializing game
                                  
                                  java.lang.NoSuchMethodError: net.minecraft.client.Minecraft.getMinecraft()Lnet/minecraft/client/Minecraft;
                                  	at fr.masterpala.scp15.client.GuiCustomMainMenu.<init>(GuiCustomMainMenu.java:138)
                                  	at fr.masterpala.scp15.client.clientproxy.onOpenGui(clientproxy.java:36)
                                  	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_408_clientproxy_onOpenGui_GuiOpenEvent.invoke(.dynamic)
                                  	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
                                  	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
                                  	at net.minecraft.client.Minecraft.func_147108_a(Minecraft.java:983)
                                  	at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:544)
                                  	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377)
                                  	at net.minecraft.client.main.Main.main(SourceFile:123)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                  	at java.lang.reflect.Method.invoke(Unknown Source)
                                  	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                                  	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                  	at java.lang.reflect.Method.invoke(Unknown Source)
                                  	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
                                  	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
                                  	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
                                  	at org.multimc.EntryPoint.main(EntryPoint.java:34)
                                  
                                  
                                  A detailed walkthrough of the error, its code path and all known details is as follows:
                                  ---------------------------------------------------------------------------------------
                                  
                                  -- Head --
                                  Thread: Client thread
                                  Stacktrace:
                                  	at fr.masterpala.scp15.client.GuiCustomMainMenu.<init>(GuiCustomMainMenu.java:138)
                                  	at fr.masterpala.scp15.client.clientproxy.onOpenGui(clientproxy.java:36)
                                  	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_408_clientproxy_onOpenGui_GuiOpenEvent.invoke(.dynamic)
                                  	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
                                  	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
                                  	at net.minecraft.client.Minecraft.func_147108_a(Minecraft.java:983)
                                  	at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:544)
                                  
                                  -- Initialization --
                                  Details:
                                  Stacktrace:
                                  	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377)
                                  	at net.minecraft.client.main.Main.main(SourceFile:123)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                  	at java.lang.reflect.Method.invoke(Unknown Source)
                                  	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                                  	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                  	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                  	at java.lang.reflect.Method.invoke(Unknown Source)
                                  	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
                                  	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
                                  	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
                                  	at org.multimc.EntryPoint.main(EntryPoint.java:34)
                                  
                                  -- System Details --
                                  Details:
                                  	Minecraft Version: 1.12.2
                                  	Operating System: Windows 10 (amd64) version 10.0
                                  	Java Version: 1.8.0_211, Oracle Corporation
                                  	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                  	Memory: 822112920 bytes (784 MB) / 2424832000 bytes (2312 MB) up to 3817865216 bytes (3641 MB)
                                  	JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms512m -Xmx4096m
                                  	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                                  	FML: MCP 9.42 Powered by Forge 14.23.5.2768 Optifine OptiFine_1.12.2_HD_U_D1 26 mods loaded, 26 mods active
                                  	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                                  
                                  	| State  | ID                | Version           | Source                                     | Signature                                |
                                  	|:------ |:----------------- |:----------------- |:------------------------------------------ |:---------------------------------------- |
                                  	| UCHIJA | minecraft         | 1.12.2            | minecraft.jar                              | None                                     |
                                  	| UCHIJA | mcp               | 9.42              | minecraft.jar                              | None                                     |
                                  	| UCHIJA | FML               | 8.0.99.99         | forge-1.12.2-14.23.5.2768-universal.jar    | e3c3d50c7c986df74c645c0ac54639741c90a557 |
                                  	| UCHIJA | forge             | 14.23.5.2768      | forge-1.12.2-14.23.5.2768-universal.jar    | e3c3d50c7c986df74c645c0ac54639741c90a557 |
                                  	| UCHIJA | openmodscore      | 0.12.1            | minecraft.jar                              | None                                     |
                                  	| UCHIJA | securitycraft     | v1.8.12           | [1.12.2]+SecurityCraft+v1.8.12.jar         | None                                     |
                                  	| UCHIJA | mdxlib            | 3.0.0.14          | mdxlib-3.0.0.14.jar                        | None                                     |
                                  	| UCHIJA | avp               | 6.0.0.33          | aliensvspredator-6.0.0.33.jar              | None                                     |
                                  	| UCHIJA | architecturecraft | @VERSION@         | ArchitectureCraft-ElytraDev-Mod-1.12.2.jar | None                                     |
                                  	| UCHIJA | bibliocraft       | 2.4.5             | BiblioCraft[v2.4.5][MC1.12.2].jar          | None                                     |
                                  	| UCHIJA | blockcraftery     | 1.12.2-1.1.0      | blockcraftery-1.12.2-1.1.0.jar             | None                                     |
                                  	| UCHIJA | cfm               | 6.3.0             | cfm-6.3.0-mc1.12.2.jar                     | None                                     |
                                  	| UCHIJA | ctm               | MC1.12-0.2.3.9    | CTM-MC1.12-0.2.3.9 (2).jar                 | None                                     |
                                  	| UCHIJA | chisel            | MC1.12.2-0.2.1.35 | Chisel-MC1.12.2-0.2.1.35 (1).jar           | None                                     |
                                  	| UCHIJA | chiselsandbits    | 14.30             | chiselsandbits-14.30.jar                   | None                                     |
                                  	| UCHIJA | customnpcs        | 1.12              | CustomNPCs_1.12.2(30Jan19).jar             | None                                     |
                                  	| UCHIJA | ptrmodellib       | 1.0.3             | PTRLib-1.0.3.jar                           | None                                     |
                                  	| UCHIJA | props             | 2.6.2             | Decocraft-2.6.2_1.12.2.jar                 | None                                     |
                                  	| UCHIJA | ichunutil         | 7.1.4             | iChunUtil-1.12.2-7.1.4 (1).jar             | None                                     |
                                  	| UCHIJA | mcmultipart       | 2.5.3             | MCMultiPart-2.5.3.jar                      | None                                     |
                                  	| UCHIJA | openmods          | 0.12.1            | OpenModsLib-1.12.2-0.12.1.jar              | d2a9a8e8440196e26a268d1f3ddc01b2e9c572a5 |
                                  	| UCHIJA | openblocks        | 1.8               | OpenBlocks-1.12.2-1.8.jar                  | d2a9a8e8440196e26a268d1f3ddc01b2e9c572a5 |
                                  	| UCHIJA | scp               | 2.1.1             | SCP+Lockdown-1.12.2-2.1.1-beta.jar         | None                                     |
                                  	| UCHIJA | scp15             | 0.1               | scp15.jar                                  | None                                     |
                                  	| UCHIJA | scple             | 1.0               | scple-1.0.jar                              | None                                     |
                                  	| UCHIJA | mysticallib       | 1.12.2-1.0.0      | mysticallib-1.12.2-1.0.0.jar               | None                                     |
                                  
                                  	Loaded coremods (and transformers): 
                                  CTMCorePlugin (CTM-MC1.12-0.2.3.9 (2).jar)
                                    team.chisel.ctm.client.asm.CTMTransformer
                                  FMLModule (mdxlib-3.0.0.14.jar)
                                    com.asx.mdx.AccessTransformer
                                  OpenModsCorePlugin (OpenModsLib-1.12.2-0.12.1.jar)
                                    openmods.core.OpenModsClassTransformer
                                  	GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 391.25' Renderer: 'Quadro K3000M/PCIe/SSE2'
                                  	OpenModsLib class transformers: [llama_null_fix:FINISHED],[horse_base_null_fix:FINISHED],[pre_world_render_hook:FINISHED],[player_render_hook:FINISHED],[horse_null_fix:FINISHED]
                                  	Launched Version: MultiMC5
                                  	LWJGL: 2.9.4
                                  	OpenGL: Quadro K3000M/PCIe/SSE2 GL version 4.6.0 NVIDIA 391.25, NVIDIA Corporation
                                  	GL Caps: Using GL 1.3 multitexturing.
                                  Using GL 1.3 texture combiners.
                                  Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
                                  Shaders are available because OpenGL 2.1 is supported.
                                  VBOs are available because OpenGL 1.5 is supported.
                                  
                                  	Using VBOs: Yes
                                  	Is Modded: Definitely; Client brand changed to 'fml,forge'
                                  	Type: Client (map_client.txt)
                                  	Resource Packs: 
                                  	Current Language: English (US)
                                  	Profiler Position: N/A (disabled)
                                  	CPU: 4x Intel(R) Core(TM) i5-3360M CPU @ 2.80GHz
                                  	OptiFine Version: OptiFine_1.12.2_HD_U_D1
                                  	OptiFine Build: 20180323-135452
                                  	Render Distance Chunks: 8
                                  	Mipmaps: 4
                                  	Anisotropic Filtering: 1
                                  	Antialiasing: 0
                                  	Multitexture: false
                                  	Shaders: null
                                  	OpenGlVersion: 4.6.0 NVIDIA 391.25
                                  	OpenGlRenderer: Quadro K3000M/PCIe/SSE2
                                  	OpenGlVendor: NVIDIA Corporation
                                  	CpuCount: 4
                                  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

                                    Tu n’as pas compilé correctement ton mod.
                                    Il faut utiliser la commande gradlew build pas l’exporter avec l’IDE.

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

                                      ok je vais faire ça

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

                                        quand je fais ce que tu as dis ça compte pas le mod mais quand je fais gradlew assemble ça marche

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

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

                                            Ce message a été supprimé !
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 7 / 7
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB