[1.7.10] Рендер текста

372
0
Как ловить взгляд игрока и если он смотрит на нужный блок рендерить текст на экране. 

Нужно сделать типа: если игрок смотрит на дверь рендерить текст "Чтобы открыть дверь нажмите ПКМ"

Заранее благодарен.
 
Рейтрейсом. Могу дать код,но я знаю,что тебе он не нужен,ты уже умный малый
 
Код:
@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) {//Тут должен быть твой "определённый блок".
    //тут можешь писать любую магию.А как рендерить текст тутор был,при чем в учебнике 
}

}
}
 
CoomingSoon написал(а):

уже понял
[merge_posts_bbcode]Добавлено: 29.09.2015 23:08:26[/merge_posts_bbcode]

Хм.. не работает
Код:
    @SubscribeEvent(priority = EventPriority.NORMAL)
    public void typeHighlight(DrawBlockHighlightEvent event) 
    {
        MovingObjectPosition mop = event.target;
        EntityPlayer player = event.player;

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

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

            if (world.getBlock(x, y, z) == ObjectsList.window1) 
            {    
                GL11.glDisable(GL11.GL_LIGHTING);
                ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft .getMinecraft().displayHeight);
                int width = sr.getScaledWidth();
                int heigh = sr.getScaledHeight();
                
                Minecraft.getMinecraft().fontRenderer.drawString("Text", width/2, heigh/2, -65536);
            }
        }
    }
 
Я тут подумал и пришёл к выводу,что это все будет рисоваться на блоке
 
Agravaine написал(а):
CoomingSoon написал(а):
Я тут подумал и пришёл к выводу,что это все будет рисоваться на блоке
Глупенький. Рисовать нужно не фиг знает куда, а в гуи.

Код:
Minecraft#ingameGUI.drawString(...);

Странно, но все равно не работает(
 
У меня тоже не получилось с помощью эвента DrawBlockHighlightEvent.
Но с помощью эвента RenderWorldLastEvent и сделав по своему получилось вот это:

Но всё-же есть недочёт:

То что текст бывает за дверью.
Но так-же я ещё сделал, чтобы текст поворачивался лицом к клиентскому игроку.

Код ещё требует доработки, но нужен-ли кому сейчас? (код ужасен пока-что)
 
Тимах,а что если рисовать прямо на экране.Вот так:
kO3w1haxug8.jpg
 
 
Назад
Сверху