#I Thought this would be easy

16 messages · Page 1 of 1 (latest)

slim hamlet
#

I want to have a text in the bottom right of the f3 menu like in this image, "MCSR Sodium 2.3.1"

#

package com.example.minimizemenu;

import com.mojang.blaze3d.systems.RenderSystem;
import net.fabricmc.api.ModInitializer;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.option.GameOptions;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.options.GameOptions;
import net.minecraft.text.Text;

public class MinimizeMenuMod implements ModInitializer {

@Override
public void onInitialize() {
}

public static void renderDebugText(MatrixStack matrices) {
    MinecraftClient client = MinecraftClient.getInstance();
    TextRenderer textRenderer = client.textRenderer;
    String text = "Minimize the menu (F6)";

    int x = 10; //x pos for text
    int y = 10; //y pos for the text

    RenderSystem.pushMatrix();
    textRenderer.draw(matrices, text, x, y, 0xFFFFFF); // 0xFFFFFF for white color
    RenderSystem.popMatrix();
}

}

#

its not working

leaden cradle
#

that doesn't do anything?

#

you'll need to mixin into DebugHud

slim hamlet
#

lemme try

leaden cradle
#

iirc, it was called getRightText

#

it returns an array. adding to it should be enough

#

or a list

slim hamlet
#

package me.rew.newTry.mixins;

import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.gui.hud.DebugHud;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

import java.util.List;

@Mixin(DebugHud.class)
public class DebugHudMixin {

@Shadow private MinecraftClient client;
public void renderRightText(MatrixStack matrices, int y) {
    List<Text> rightText = this.client.options.getRightText();

    rightText.add(Text.literal("random text"));

    TextRenderer textRenderer = this.client.textRenderer;
    int x = 2;

    for (Text text : rightText) {
        textRenderer.draw(matrices, text, x, y, 0xFFFFFF); // 0xFFFFFF for white color
        y += 10;
    }
}

}

#

Cannot resolve method 'getRightText' in 'GameOptions' : 22

#

when i tried getRightText i didnt work

leaden cradle
#

this is not a valid mixin

#

your code is just adding a method to the class. it's not being invoked or anything

#

this.client.options.getRightText() this is incorrect, hence the error