[1.12+] Вывод статического текста в какой-либо угол экрана

Версия Minecraft
1.12+
API
Forge
Здравствуйте уважаемые посетители данной темы.
Подскажите пожалуйста как вывести текст допустим в левый верхний угол экрана.
Версия майнкрафта 1.12
 
Последнее редактирование:
7,099
324
1,510
 

tox1cozZ

aka Agravaine
8,455
598
2,892
Иди учить джаву тогда. Готовый код за тебя никто писать не будет.
В статье всё максимально ясно написано. Если что-то не получается - выкладывай код со своими попытками, укажут на ошибки.
 

will0376

Токсичная личность
2,077
55
585
на 1.8 нет быстрой регистрации ивентов через аннотацию. Так что по старинке в мейне регистрируй.
ловишь RenderGameOverlayEvent.Post и чекаешь его тип #.getType() ( <- Это перечисления, если что ) на текст. Там и рендеришь текст как тебе говорили выше [1.8.8] Вывод статического текста в какой-либо угол экрана
 
вот код, тут сделал рендер, но не работает, его надо что-то типо инициализировать что-ли, не знаю
Java:
package me.test;

import net.minecraft.client.Minecraft;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

@Mod(
        modid = Test.MOD_ID,
        name = Test.MOD_NAME,
        version = Test.VERSION
)
public class Test {

    public static final String MOD_ID = "test";
    public static final String MOD_NAME = "Test";
    public static final String VERSION = "1.0-SNAPSHOT";

    @Mod.Instance(MOD_ID)
    public static Test INSTANCE;
    
    Minecraft mc = Minecraft.getMinecraft();
    
    @SubscribeEvent
    public void drawText(RenderGameOverlayEvent.Post event) {
        switch (event.getType()) {
            case TEXT:
                String text = "Text";
                mc.fontRenderer.drawStringWithShadow(text,
                        event.getResolution().getScaledWidth() - mc.fontRenderer.getStringWidth(text),
                        0, 0xFFFFFF);
                break;
            default:
                break;
        }
    }
}
 
Я что-то делаю не так. Вроде-бы метод зарегистрирован, но при входе ничего не происходит, видимо неправильно зарегистрировал.
Т.к. у меня версия 1.12 я просто аннотацию повешал
Java:
@Mod.EventBusSubscriber
    public static class EventsHandler {
        Minecraft mc = Minecraft.getMinecraft();
        @SubscribeEvent
        public static void onJoin(EntityJoinWorldEvent e) {
            if (e.getEntity() != null) {
                EntityPlayer player = (EntityPlayer) e.getEntity();
                player.sendMessage(new TextComponentString("Hello, %p!".replace("%p", player.getName())));

            }
        }
        @SubscribeEvent
        public void drawText(RenderGameOverlayEvent.Post event) {
            switch (event.getType()) {
                case TEXT:
                    String text = "Text";
                    mc.fontRenderer.drawStringWithShadow(text,
                            event.getResolution().getScaledWidth() - mc.fontRenderer.getStringWidth(text),
                            0, 0xFFFFFF);
                    break;
                default:
                    break;
            }
        }
    }
 
7,099
324
1,510
Сверху