Вывод текста

Версия Minecraft
1.7.10
32
0
Мне нужно вывести любое сообщение в левом верхнем углу экрана. Как это реализовать?
 

timaxa007

Модератор
5,831
409
672
Эвент - RenderGameOverlayEvent.Post,
Тип элемента - ElementType.TEXT или который нужен,
Вывод текста - Minecraft.getMinecraft().fontRenderer.drawStringWithShadow("Text", 0, 0, 0xFFFFFF);.


Код:
@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
	switch(event.type) {
	case TEXT:
		Minecraft.getMinecraft().fontRenderer.drawStringWithShadow("Text", 0, 0, 0xFFFFFF);
		break;
	default:break;
	}
}
 
32
0
timaxa007 написал(а):
Эвент - RenderGameOverlayEvent.Post,
Тип элемента - ElementType.TEXT или который нужен,
Вывод текста - Minecraft.getMinecraft().fontRenderer.drawStringWithShadow("Text", 0, 0, 0xFFFFFF);.


Код:
@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
 switch(event.type) {
 case TEXT:
 Minecraft.getMinecraft().fontRenderer.drawStringWithShadow("Text", 0, 0, 0xFFFFFF);
 break;
 default:break;
 }
}



Регистрировать ничего не надо?
 
32
0
timaxa007 написал(а):
Надо, эвент.


http://forum.mcmodding.ru/%D0%A2%D0%B5%D0%BC%D0%B0-%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F%D0%BC%D0%B8


Текст не выходит
[attachment=101][attachment=100][attachment=99]
 

Вложения

  • Снимок экрана (17).png
    Снимок экрана (17).png
    147.2 KB · Просмотры: 106
  • Снимок экрана (18).png
    Снимок экрана (18).png
    196.5 KB · Просмотры: 127
  • Снимок экрана (19).png
    Снимок экрана (19).png
    268.3 KB · Просмотры: 134

timaxa007

Модератор
5,831
409
672
Код:
static Minecraft mc = Minecraft.getMinecraft();

@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
	switch(event.type) {
	case TEXT:
		String text = "Text";
		mc.fontRenderer.drawStringWithShadow(text,
				event.resolution.getScaledWidth() - mc.fontRenderer.getStringWidth(text), 
				0, 0xFFFFFF);
		break;
	default:break;
	}
}
 
32
0
timaxa007 написал(а):
Код:
static Minecraft mc = Minecraft.getMinecraft();

@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
 switch(event.type) {
 case TEXT:
 String text = "Text";
 mc.fontRenderer.drawStringWithShadow(text,
 event.resolution.getScaledWidth() - mc.fontRenderer.getStringWidth(text), 
 0, 0xFFFFFF);
 break;
 default:break;
 }
}
А как узнать пинг?
 

timaxa007

Модератор
5,831
409
672
Точно не знаю. Как-то узнавать ServerData из него брать pingToServer.


Если не ошибаюсь, то типа так:
Код:
static Minecraft mc = Minecraft.getMinecraft();

@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
	switch(event.type) {
	case TEXT:
		String text = "Ping: ";
		if (mc.func_147104_D() != null)
			text += mc.func_147104_D().pingToServer;
		else
			text += "None";
		text += ".";
		mc.fontRenderer.drawStringWithShadow(text,
				event.resolution.getScaledWidth() - mc.fontRenderer.getStringWidth(text), 
				0, 0xFFFFFF);
		break;
	default:break;
	}
}
 
32
0
timaxa007 написал(а):
Точно не знаю. Как-то узнавать ServerData из него брать pingToServer.


Если не ошибаюсь, то типа так:
Код:
static Minecraft mc = Minecraft.getMinecraft();

@SubscribeEvent
public void drawText(RenderGameOverlayEvent.Post event) {
 switch(event.type) {
 case TEXT:
 String text = "Ping: ";
 if (mc.func_147104_D() != null)
 text += mc.func_147104_D().pingToServer;
 else
 text += "None";
 text += ".";
 mc.fontRenderer.drawStringWithShadow(text,
 event.resolution.getScaledWidth() - mc.fontRenderer.getStringWidth(text), 
 0, 0xFFFFFF);
 break;
 default:break;
 }
}




А евент входа игрока на сервер и отправка сообщения в чат?
 

timaxa007

Модератор
5,831
409
672
Код:
FMLCommonHandler.instance().bus().register(...);
Код:
@SubscribeEvent
public void messageServer(PlayerLoggedInEvent event) {
	if (FMLCommonHandler.instance().getSide().isServer()) {
		event.player.addChatMessage(new ChatComponentText("Hello on the Server!"));
	}
}
 
Сверху