Рендер текста

Версия Minecraft
1.7.10
372
0
Тогда забил, ну а теперь вспомнил про это
Какой же мне евент использовать?
 
372
0
Ну через DrawBlockHighlightEvent никак не получается рендерить текст


Есть вот это
Код:
public class EventClient {
	Minecraft mc = Minecraft.getMinecraft();
	FontRenderer fontRenderer = mc.fontRenderer;
	
    ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft .getMinecraft().displayHeight);
    int width = sr.getScaledWidth();
    int heigh = sr.getScaledHeight();
	
	@SubscribeEvent
	public void typeHighlight(DrawBlockHighlightEvent event) {
		MovingObjectPosition mop = event.target;

		if (mop != null && mop.typeOfHit == MovingObjectType.BLOCK) {
			EntityPlayer player = event.player;
			World world = player.worldObj;

			int x = mop.blockX;
			int y = mop.blockY;
			int z = mop.blockZ;

			if (world.getBlock(x, y, z) == Blocks.iron_ore) {
				this.fontRenderer.drawStringWithShadow("§fTest", width/2, heigh/2, 0);
			}
		}
	}
}
 

timaxa007

Модератор
5,831
409
672
Можно так попробовать:
Код:
Minecraft mc = Minecraft.getMinecraft();
FontRenderer fontRenderer = mc.fontRenderer;
ScaledResolution sr = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);
int width = sr.getScaledWidth();
int heigh = sr.getScaledHeight();

@SubscribeEvent
public void renderTextForEntity2(RenderGameOverlayEvent.Text event) {
	MovingObjectPosition target = mc.objectMouseOver;
	if (target != null) {
		if (target.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) {
			EntityPlayer player = mc.thePlayer;
			World world = mc.theWorld;

			int x = target.blockX;
			int y = target.blockY;
			int z = target.blockZ;

			if (world.getBlock(x, y, z) == Blocks.iron_ore) {
				fontRenderer.drawStringWithShadow("§fTest", width/2, heigh/2, 0);
			}
		}
	}
}
Такой вариант у меня работал.
 
Сверху