Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

1.17.1 Text on UI


e2rifia
 Share

Recommended Posts

This is my code. How can I change it to have "Hello world!" show on the screen?

@Mod(Chants2.MODID)
public class Chants2 {
    public static final String MODID = "chants2";
    public Chants2(){
        final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
        final ClientSideOnlyModEventRegistrar clientSideOnlyModEventRegistrar = new ClientSideOnlyModEventRegistrar(modEventBus);
        registerCommonEvents(modEventBus);
        DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> clientSideOnlyModEventRegistrar::registerClientOnlyEvents);
    }
    public void registerCommonEvents(IEventBus eventBus) {
        //eventBus.register(GuiHandler.class);
    }
}
public class ClientSideOnlyModEventRegistrar {
    private final IEventBus eventBus;
    public ClientSideOnlyModEventRegistrar(IEventBus eventBus) {
        this.eventBus = eventBus;
    }
    public void registerClientOnlyEvents() {
        eventBus.register(GuiHandler.class);
    }
}
public class GuiHandler {
    String text = "Hello world!";
    @SubscribeEvent
    public void onRenderGui(RenderGameOverlayEvent.Post event)
    {
        drawString(event.getMatrixStack(), Minecraft.getInstance().font, text, event.getWindow().getWidth() / 2, event.getWindow().getHeight() / 2, Integer.parseInt("33AA66", 16));
    }
}

 

Link to comment
Share on other sites

The text doesn't show. What did I do wrong this time?

public class GuiHandler {
    String text = "Hello world!";
    @SubscribeEvent
    public void onRenderGui(RenderGameOverlayEvent.Post event)
    {
        OverlayRegistry.registerOverlayTop("hello", new IIngameOverlay() {
            @Override
            public void render(ForgeIngameGui gui, PoseStack mStack, float partialTicks, int width, int height) {
                drawString(mStack, Minecraft.getInstance().font, text, width / 2, height / 2, Integer.parseInt("33AA66", 16));
            }
        });
    }
}
Link to comment
Share on other sites

"Call from net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent."

I found it. One step further!

I don't think FMLClientSetupEvent is reached. The other classes are untouched. What did I do wrong this time?

public class GuiHandler {
    String text = "Hello world!";
    @SubscribeEvent
    public void onRenderGui(FMLClientSetupEvent event)
    {System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
        OverlayRegistry.registerOverlayBottom("hello", new IIngameOverlay() {
            @Override
            public void render(ForgeIngameGui gui, PoseStack mStack, float partialTicks, int width, int height) {
                drawString(mStack, Minecraft.getInstance().font, text, width / 2, height / 2, Integer.parseInt("33AA66", 16));
            }
        });
    }
}

 

Link to comment
Share on other sites

I think I registered the GuiHandler event handler here.

public class ClientSideOnlyModEventRegistrar {
    private final IEventBus eventBus;
    public ClientSideOnlyModEventRegistrar(IEventBus eventBus) {
        this.eventBus = eventBus;
    }
    public void registerClientOnlyEvents() {
        eventBus.register(GuiHandler.class);
    }
}

I called the registrar above here.

@Mod(Chants2.MODID)
public class Chants2 {
    public static final String MODID = "chants2";
    public Chants2(){
        final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
        final ClientSideOnlyModEventRegistrar clientSideOnlyModEventRegistrar = new ClientSideOnlyModEventRegistrar(modEventBus);
        DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> clientSideOnlyModEventRegistrar::registerClientOnlyEvents);
    }
}

I guessed from reading the documentation on FMLClientSetupEvent that said to use Dist.CLIENT.

Link to comment
Share on other sites

It worked! Thank you for guiding me, diesieben07.

If I have @EventBusSubscriber for my client-only event handlers, do I still have to call them in my Chants2 constructor?

I'll paste my code here for when I have to look back.

@Mod(Chants2.MODID)
public class Chants2 {
    public static final String MODID = "chants2";
    public Chants2(){
        final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
        final ClientSideOnlyModEventRegistrar clientSideOnlyModEventRegistrar = new ClientSideOnlyModEventRegistrar(modEventBus);
        registerCommonEvents(modEventBus);
        DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> clientSideOnlyModEventRegistrar::registerClientOnlyEvents);
    }
    public void registerCommonEvents(IEventBus eventBus) {
        //eventBus.register(GuiHandler.class);
    }
}
//@Mod.EventBusSubscriber(Dist.CLIENT)
public class ClientSideOnlyModEventRegistrar {
    private final IEventBus eventBus;
    public ClientSideOnlyModEventRegistrar(IEventBus eventBus) {
        this.eventBus = eventBus;
    }
    public void registerClientOnlyEvents() {
        eventBus.register(GuiHandler.class);
    }
}
//@Mod.EventBusSubscriber(Dist.CLIENT)
public class GuiHandler {
    static String text = "Hello world!";
    @SubscribeEvent
    public static void onRenderGui(FMLClientSetupEvent event)
    {
        OverlayRegistry.registerOverlayBottom("hello", new IIngameOverlay() {
            @Override
            public void render(ForgeIngameGui gui, PoseStack mStack, float partialTicks, int width, int height) {
                drawString(mStack, Minecraft.getInstance().font, text, width / 2, height / 2, Integer.parseInt("33AA66", 16));
            }
        });
    }
}

 

Edited by e2rifia
Grammar.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • I've been trying to sort this out for a few days but unfortunately I've had no success. I was wondering if anyone has figured out how to add xp drops to an ore for 1.17.1. Anyone help would be appreciated, thanks!
    • JVM info: Oracle Corporation - 1.8.0_281 - 25.281-b09 java.net.preferIPv4Stack=true Found java version 1.8.0_281 Extracting main jar:   Extracted successfully Considering minecraft server jar java.net.UnknownHostException: launchermeta.mojang.com     at java.net.AbstractPlainSocketImpl.connect(Unknown Source)     at java.net.PlainSocketImpl.connect(Unknown Source)     at java.net.SocksSocketImpl.connect(Unknown Source)     at java.net.Socket.connect(Unknown Source)     at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)     at sun.net.NetworkClient.doConnect(Unknown Source)     at sun.net.www.http.HttpClient.openServer(Unknown Source)     at sun.net.www.http.HttpClient.openServer(Unknown Source)     at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)     at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)     at java.net.HttpURLConnection.getResponseCode(Unknown Source)     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)     at net.minecraftforge.installer.DownloadUtils.getConnection(DownloadUtils.java:203)     at net.minecraftforge.installer.DownloadUtils.downloadManifest(DownloadUtils.java:267)     at net.minecraftforge.installer.json.Util.getVanillaVersion(Util.java:62)     at net.minecraftforge.installer.actions.ServerInstall.run(ServerInstall.java:70)     at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:428)     at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:170)     at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:143) Failed to download version manifest, can not find server jar URL.  
    • how do I go about making a block need a tool with a harvest level of 5. I have made a tool with a harvest level of 5, but I can't find anything about making my block need a harvest level of 5
    • I can run forge server jar and server runs, but i want to allocate certan ram to it and use BAT   What seems to be the problem, what should I do? Thanks   I always used bat the past days, but when i stopped server and re ran it and it Keeps saying PAUSE, This is the .bat file text,   [16:57:51] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmlserver, --fml.forgeVersion, 36.2.8, --fml.mcpVersion, 20210115.111550, --fml.mcVersion, 1.16.5, --fml.forgeGroup, net.minecraftforge, nogui] [16:57:51] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 8.0.9+86+master.3cf110c starting: java version 1.8.0_301 by Oracle Corporation [16:57:52] [main/INFO] [ne.mi.fm.lo.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust [16:57:52] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.4 Source=file:/C:/Users/Jon/Desktop/Server/libraries/org/spongepowered/mixin/0.8.4/mixin-0.8.4.jar Service=ModLauncher Env=SERVER Exception in thread "main" [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: java.lang.RuntimeException: Failed to load FML config from C:\Users\Jon\Desktop\Server\config\fml.toml [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at net.minecraftforge.fml.loading.FMLConfig.loadFrom(FMLConfig.java:64) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at net.minecraftforge.fml.loading.FMLConfig.load(FMLConfig.java:77) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at net.minecraftforge.fml.loading.FMLServiceProvider.initialize(FMLServiceProvider.java:81) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at cpw.mods.modlauncher.TransformationServiceDecorator.onInitialize(TransformationServiceDecorator.java:68) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at cpw.mods.modlauncher.TransformationServicesHandler.lambda$initialiseTransformationServices$7(TransformationServicesHandler.java:107) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at java.util.HashMap$Values.forEach(Unknown Source) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at cpw.mods.modlauncher.TransformationServicesHandler.initialiseTransformationServices(TransformationServicesHandler.java:107) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at cpw.mods.modlauncher.TransformationServicesHandler.initializeTransformationServices(TransformationServicesHandler.java:59) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at cpw.mods.modlauncher.Launcher.run(Launcher.java:76) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at net.minecraftforge.server.ServerMain$Runner.runLauncher(ServerMain.java:63) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at net.minecraftforge.server.ServerMain$Runner.access$100(ServerMain.java:60) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at net.minecraftforge.server.ServerMain.main(ServerMain.java:57) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: Caused by: com.electronwill.nightconfig.core.io.ParsingException: Not enough data available [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.io.ParsingException.notEnoughData(ParsingException.java:22) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.io.ReaderInput.directReadChar(ReaderInput.java:36) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.io.AbstractInput.readChar(AbstractInput.java:49) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.io.AbstractInput.readCharsUntil(AbstractInput.java:123) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.toml.TableParser.parseKey(TableParser.java:166) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.toml.TableParser.parseDottedKey(TableParser.java:145) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.toml.TableParser.parseNormal(TableParser.java:55) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:44) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:37) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:113) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:219) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:202) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.load(WriteSyncFileConfig.java:73) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.file.AutoreloadFileConfig.load(AutoreloadFileConfig.java:41) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.load(AutosaveCommentedFileConfig.java:85) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         at net.minecraftforge.fml.loading.FMLConfig.loadFrom(FMLConfig.java:60) [16:57:52] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]:         ... 12 more C:\Users\Jon\Desktop\Server>PAUSE Press any key to continue . . .  
    • Thank you! Both of you were very helpful.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.