Modifier le menu principal
-
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. -
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!
-
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 …
-
Merci !(pk j’ai pris le code que je vois en premier…)
-
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 screen
-
Peux-tu envoyer le code des boutons concernés par le problème ?
-
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); } } }
-
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).
-
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
-
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 ?
-
Il y a un erreur et cela ne marche pas
-
Donc c’est que tu n’as pas le bon nom de fonction.
Regardes dans la classe GuiButton, tu devrais trouver le bon nom. -
je n’ai pas compris
-
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); } } }
-
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
-
Tu n’as pas compilé correctement ton mod.
Il faut utiliser la commandegradlew build
pas l’exporter avec l’IDE. -
ok je vais faire ça
-
quand je fais ce que tu as dis ça compte pas le mod mais quand je fais gradlew assemble ça marche
-
Ce message a été supprimé ! -
Ce message a été supprimé !