Problème (FORGE) en 1.15.2 création d'un GUI
-
package fr.ethizy.molium.commands; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; import fr.ethizy.molium.client.gui.TestGUI; import net.minecraft.client.Minecraft; import net.minecraft.command.CommandSource; import static net.minecraft.command.Commands.literal; public class OpenGuiCommand { private static Minecraft client = Minecraft.getInstance(); public static void register(CommandDispatcher<CommandSource> dispatcher) { dispatcher.register(literal("test").executes((commandContext) -> {return commandOpenGui(commandContext.getSource());})); } private static int commandOpenGui(CommandSource source) { client.displayGuiScreen(new TestGUI(client)); System.out.println("test"); return 1; } }Comme ça ?
-
Oui
-
YES! Mon erreur a changé!! Je suis tellement content, merci!
Maintenant j’ai une autre erreur:

-
@robin4002 j’ai réglé, mais autre soucis, y’a rien qui s’affiche, des gens disent que ça vient du drawScreen puisque quand je met un sysout il s’affiche pas
le drawScreen:
public void drawScreen(int mouseX, int mouseY, float partialTicks) { System.out.println("testttt"); drawBackgroundImage(); } -
Je crois que cette fonction n’a plus le même nom en 1.15.2.
Ajoutes un @Override au dessus, si cela fait une erreur tu n’as pas le bon nom. -
@robin4002 J’ai touuut réglé à l’aide de quelques personne, j’ai juste un petit soucis :

ça prend tout mon écran, voici mon code:
package fr.ethizy.molium.client.gui; import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; import fr.ethizy.molium.Molium; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; public class TestGUI extends Screen { private final ResourceLocation background = new ResourceLocation(Molium.MOD_ID, "textures/gui/gui_base.png"); public static Minecraft mc; public final int xSize = 256; public final int ySize = 202; public TestGUI(Minecraft mc) { super(new StringTextComponent("Mon Joli GUI")); minecraft = mc; } public void render(int mouseX, int mouseY, float partialTicks) { drawBackgroundImage(); super.render(mouseX, mouseY, partialTicks); } public void drawBackgroundImage() { RenderSystem.pushMatrix(); RenderSystem.blendColor(1.0F, 1.0F, 1.0F, 1.0F); minecraft.getTextureManager().bindTexture(background); int x = (this.width = this.xSize) /3; int y = (this.height = this.ySize) /3; this.blit(x, y, 0, 0, this.xSize, this.ySize); RenderSystem.popMatrix(); } } -
Ce message a été supprimé ! -
int x = (this.width = this.xSize) /3; int y = (this.height = this.ySize) /3;Peut être ici non avec les = entre width et xSize ?
-
@Mysterious-Dev yep cimer!
-
J’ai 2 petites dernières questions avant de passer ce sujet en résolu:
J’aimerai savoir ce que c’est drawRect() en 1.15.2 , car ça a changeait, (c’est pour mettre un fond grisé sur les GUI)
Et aussi, j’ai crée un système pour lorsque le joueur appuie sur une touche pré-configuré et que le GUI n’est pas encore ouvert, ça ouvre le GUI, et que si il appuie alors que le GUI est ouvert, ça le ferme, voici mon code:https://code.alwyn974.re/xisivedufi.java
J’ai aucune erreur, le GUI s’ouvre bien, mais il se ferme pas, quelqu’un sait pourquoi ?