Jump to content

Qbism

Members
  • Posts

    3
  • Joined

  • Last visited

Posts posted by Qbism

  1. 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

  2. I want to add rectangle on screen. But I don't know how to draw rectangle. 

    I make the following code.:

    public static void IGuiOverlay BAR = ((gui, guiGraphics, partialTick, screenWidth, screenHeight) -> {

    RenderSystem.setShader(GameRenderer::getPositionColorShader);

    guiGraphics.fill(100,120,140,160,0xFFFFFF);

    guiGraphics.drawString(Minecraft.getInstance().font, "test", 100, 140, 0xFFFFFF, true);

    });

     

    Then, String "test" is displayed on the screen. But a rectangle is not displayed.

    Please give me your advice.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.