- 192
- 2
- 9
Всем првиет. Хотел вывести на экран текст банально, тут достаточно инфы на этот счет.
Воспользовался одним из примеров. Сделал класс с ивентом, добавил себе принты для наблюдений:
Ивент нужно зарегистрировать и в данном случае на клиенте, верно?
Как итог, не вижу в логе ни одного своего принта, будто ивент не вызывается. Ни крашей, ни стактрейсов, ни каких явных багов с кодом в среде. Я где-то что-то пропустил видимо, но что и где, подскажете?)
Воспользовался одним из примеров. Сделал класс с ивентом, добавил себе принты для наблюдений:
RenderGui:
@SideOnly(Side.CLIENT)
public class RenderGui {
private static final ResourceLocation texture = new ResourceLocation("mod", "textures/hud.png");
private RenderItem itemRenderer = new RenderItem();
private static final Minecraft mc = Minecraft.getMinecraft();
private static int width, height;
public RenderGui() {
System.out.println("RenderGui class is called");
}
@SubscribeEvent
public void overlay(RenderGameOverlayEvent e) {
System.out.println("Render 1");
if (e.type == ElementType.TEXT) {
System.out.println("Render 2");
ScaledResolution res = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);
width = e.resolution.getScaledHeight();
height = e.resolution.getScaledHeight();
EntityPlayer p = mc.thePlayer;
mc.fontRenderer.drawString(p.getDisplayName(), width + 80, height - 12, 0xFFFFFF);
}
}
public void renderItem(ItemStack item, int x, int y) {
GL11.glPushMatrix();
GL11.glEnable(3042);
GL11.glBlendFunc(770, 771);
this.itemRenderer.renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, item, x, y);
RenderHelper.disableStandardItemLighting();
GL11.glPopMatrix();
}
}
ClientProxy:
public class ClientProxy extends CommonProxy {
@Override
public void preInit(FMLPreInitializationEvent e) {
super.preInit(e);
}
@Override
public void init(FMLInitializationEvent e) {
super.init(e);
}
@Override
public void postInit(FMLPostInitializationEvent e) {
super.postInit(e);
}
@Override
public void registerEvents() {
super.registerEvents();
System.out.println("Client proxy");
MinecraftForge.EVENT_BUS.register(new RenderGui());
}
}
Java:
@Mod(modid = Vars.MODID, name = Vars.MODNAME, version = Vars.MODVER)
public class Main {
@SidedProxy(clientSide = "modid.client.ClientProxy", serverSide = "modid.common.CommonProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
proxy.preInit(e);
}
@EventHandler
public void init(FMLInitializationEvent e) {
proxy.init(e);
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
proxy.postInit(e);
}
}