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

                                            Bonjour je fais ce tuto en 1.12.2

                                            J’ai 3 erreurs je vous donne mon code, j’ai répertoriés les erreurs tout en haut du code

                                            Lien du code: https://code.alwyn974.re/vatunaqofi.cpp

                                            PS: j’ai aussi une erreur dans la console qui dit:
                                            AL lib: (EE) alc_cleanup: 1 device not closed
                                            Java HotSpot™ 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

                                            Merci d’avance

                                            lesFLY

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB