Рендер картинки при эффекте

Версия Minecraft
1.7.10
929
30
66
Всем привет.
Кто может помочь кодом , при эффекте замедление нужно рендрить картинку сломанной кости или текст сломана нога.
 
Решение
Java:
    static final Minecraft mc = Minecraft.getMinecraft();

   @SubscribeEvent
    public void drawText(RenderGameOverlayEvent.Post event) {
        if (!mc.thePlayer.isPotionActive(Potion.moveSlowdown)) break;
        switch(event.type) {
//текстура
        case ALL:
            mc.getTextureManager().bindTexture(texture_break_leg);
            mc.ingameGUI.drawTexturedModalRect(2, 2, 0, 0, 16, 16);
            break;
//текст
        case TEXT:
            mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("break_leg"), 2, 20, 0xFFFFFF);
            break;
//
        default:break;
        }
    }
Java:
    @SubscribeEvent
    public void drawText(RenderGameOverlayEvent.Post event) {
        if...

timaxa007

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

   @SubscribeEvent
    public void drawText(RenderGameOverlayEvent.Post event) {
        if (!mc.thePlayer.isPotionActive(Potion.moveSlowdown)) break;
        switch(event.type) {
//текстура
        case ALL:
            mc.getTextureManager().bindTexture(texture_break_leg);
            mc.ingameGUI.drawTexturedModalRect(2, 2, 0, 0, 16, 16);
            break;
//текст
        case TEXT:
            mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("break_leg"), 2, 20, 0xFFFFFF);
            break;
//
        default:break;
        }
    }
Java:
    @SubscribeEvent
    public void drawText(RenderGameOverlayEvent.Post event) {
        if (!mc.thePlayer.isPotionActive(MyMod.break_leg_effect)) break;
        switch(event.type) {
        case ALL:
            mc.getTextureManager().bindTexture(texture_break_leg);
            mc.ingameGUI.drawTexturedModalRect(2, 2, 0, 0, 16, 16);
            break;
        case TEXT:
            mc.fontRenderer.drawStringWithShadow(StatCollector.translateToLocal("break_leg"), 2, 20, 0xFFFFFF);
            break;
        default:break;
        }
    }
 

timaxa007

Модератор
5,831
409
672
Я ошибся, не:
if (!mc.thePlayer.isPotionActive(Potion.moveSlowdown)) break;
а
if (!mc.thePlayer.isPotionActive(Potion.moveSlowdown)) return;
texture_break_leg - это ResourceLocation текстура размером 256 на 256.
 
Последнее редактирование:

timaxa007

Модератор
5,831
409
672
Java:
    static final Minecraft mc = Minecraft.getMinecraft();
    static final ResourceLocation texture_new_hud = new ResourceLocation(SMTCommon.MODID, "textures/gui/new_hud.png");

   @SubscribeEvent
    public void drawBreakLeg(RenderGameOverlayEvent.Post event) {
        if (!mc.thePlayer.isPotionActive(Potion.moveSlowdown)) return;
        switch(event.type) {
//текстура
        case ALL:
            mc.getTextureManager().bindTexture(texture_new_hud);
            mc.ingameGUI.drawTexturedModalRect(event.resolution.getScaledWidth() - 18, 2, 0, 0, 17, 17);
            break;
//текст
        case TEXT:
            String name = StatCollector.translateToLocal("break_leg");
            mc.fontRenderer.drawStringWithShadow(name, event.resolution.getScaledWidth() - mc.fontRenderer.getStringWidth(name) - 2, 20, 0xFFFFFF);
            break;
//
        default:break;
        }
    }
Значок и текст право-верхний угол.
 
344
1
47
Эвент зарегистрируй =) (прокси клиента)
Java:
    @Override
    public void registerEvents() {
        super.registerEvents();

        IngameGui gui = new IngameGui(
                Minecraft.getMinecraft());
        MinecraftForge.EVENT_BUS.register(new IngameGui(Minecraft
                .getMinecraft()));
   
    }

}
 
344
1
47
Ты хоть текстуру зарегистрировал? Путь указал?)
Серега тебе готовый код дал -_- У меня работает.

Java:
    static final ResourceLocation texture_new_hud = new ResourceLocation(SMTCommon.MODID, "textures/gui/new_hud.png");
 
929
30
66
Я правильно всё указал
Java:
static final ResourceLocation texturebone = new ResourceLocation("bestfoxy", "textures/gui/bone.png");

   @SubscribeEvent
    public void drawBreakLeg(RenderGameOverlayEvent.Post event) {
        if (!mc.thePlayer.isPotionActive(Potion.moveSlowdown)) return;
        switch(event.type) {
 //текстура
        case ALL:
            mc.getTextureManager().bindTexture(texturebone);
            mc.ingameGUI.drawTexturedModalRect(event.resolution.getScaledWidth() - 18, 2, 0, 0, 17, 17);
            break;
 //текст
        case TEXT:
            String name = StatCollector.translateToLocal("break_leg");
            mc.fontRenderer.drawStringWithShadow(name, event.resolution.getScaledWidth() - mc.fontRenderer.getStringWidth(name) - 2, 20, 0xFFFFFF);
            break;
 //
        default:break;
        }
    }
 
Сверху