del

Версия Minecraft
1.8+
API
MCreator
22
5
4
😞
Создаем основной класс мода [code 1.8]
Java:
package ru.laym.nameviewer;

import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

@Mod(modid = "nameviewer", name = "NicknameViewer", version = "1.0")
public class NicknameViewer {
  
    public static int xPosition;
    public static int yPosition;
  
    @EventHandler
    public void init(FMLInitializationEvent event) {
        DrawHandler drawhandler = new DrawHandler();
        MinecraftForge.EVENT_BUS.register(drawhandler);
        FMLCommonHandler.instance().bus().register(drawhandler);
    }
  
    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
      
    }

    @EventHandler
    public void postInit(final FMLPostInitializationEvent event) {
      
     }
}

Ну и соответственно рисуем
Java:
package ru.laym.nameviewer;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

public class DrawHandler {
  
    private Minecraft mc = Minecraft.getMinecraft();
    private ScaledResolution scaled = new ScaledResolution(mc);
    private int scaledX = scaled.getScaledWidth();
    private int scaledY = scaled.getScaledHeight();
  
    public String getString(){ 
        String string =  EnumChatFormatting.GOLD + "Ник: " + Minecraft.getMinecraft().thePlayer.getDisplayName();
        return string;
    }
  
    public  int getPosX(int xPos){
        return xPos;
    }
  
    public int getPosY(int yPos){
        return yPos;
    }
  
    public  void draw() {
        Minecraft.getMinecraft().fontRendererObj.drawString(getString(), getPosX(NicknameViewer.xPosition) , getPosY(NicknameViewer.yPosition), 0xFFFFFF);
    }
      
    @SubscribeEvent
    public void onRenderOverlay(RenderGameOverlayEvent event) {
        if (event.type == ElementType.TEXT) {
            DrawHandler dh = new DrawHandler();
            dh.draw(); 
        }
    }
}

Сам скомпилируешь, ну а если что-то не работает - напиши, не тестировал)
 

TheAndrey

Редактор учебника
1,071
72
372
Создаем основной класс мода [code 1.8]
Java:
FMLCommonHandler.instance().bus().register(drawhandler);
Явно будет лишним для ивентов, которые находятся в net.minecraftforge.client.event.*
И пустые методы @EventHandler в главном классе мода объявлять не надо. Без них всё будет работать.
 
Сверху