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;
}
}
}
а в учебник залезть уже лень? Использование событий - MC Modding УчебникЯ тоже, но не знаю как
@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;
}
}
}
У тебя inner class? Такое вроде не прокатит. Сделать обычный класс в отдельном файлеpublic static class EventsHandler