I do apologize for any inconvenience caused. I had been unaware of rule in the forum. Thank you for pointing this out.
I don't care opacity.
"fill" is the method in net/minecraft/client/gui/GuiGraphics.java
I refer from Screen - Forge Documentation (minecraftforge.net)
I make the following code. I am able to display the text to appear in a similar method to the problematic method. I don't know what these methods need respectively.
package com.QbismX.RectMod.main;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GameRenderer;
import net.minecraftforge.client.event.RegisterGuiOverlaysEvent;
import net.minecraftforge.client.gui.overlay.IGuiOverlay;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod(RectMod.MODID)
public class RectMod {
public static final String MODID = "rectmod";
public RectMod(){
}
@Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
public static class ClientModEvents {
@SubscribeEvent
public static void registerGuiOverlays(RegisterGuiOverlaysEvent event) {
event.registerAboveAll("bar", BAR);
}
}
public static final IGuiOverlay BAR = ((gui, guiGraphics, partialTick, screenWidth, screenHeight) -> {
RenderSystem.setShader(GameRenderer::getPositionColorShader);
// Maybe this draw a rectangle on the screen.
// First, second, third and fourth arguments may set a position.
// Fifth argument may set color.
guiGraphics.fill(100, 120, 140, 160, 0xFFFFFF);
// This draw text on the screen. The method have no problem.
// Third and fourth arguments set a position.
// Fifth argument sets text color.
// Sixth argument sets shadow.
guiGraphics.drawString(Minecraft.getInstance().font, "test", 100, 140, 0xFFFFFF, true);
});
}
Please allow me to share the files debug.log, launcher_log.txt and RectMod.java with you at this link.
https://gist.github.com/QbismX/fc43dcbcca419336d89d8670ef52a101