Как скрыть текст, написанный fontRendererObj? - PullRequest
0 голосов
/ 04 ноября 2018

Сейчас я занимаюсь разработкой взломанного клиента Minecraft и хочу создать ключ, который удалит текст и покажет новый, и наоборот. В начале игры в левом верхнем углу отображается текст: имя взлома и его ключ. Я хочу, чтобы при нажатии клавиши метод showDesc () инициировал и удалял текст, но записывал новый текст, содержащий не только имя взлома и его ключ, но также его категорию и описание. Я не могу найти способ скрыть текст. Мой код:

package me.hacked.client;

import net.minecraft.client.Minecraft;

public class UI {
    public static Minecraft mc = Minecraft.getMinecraft(); //get minecraft
    public static boolean descShown = false;
    public static void init() { //called on game start
        mc.fontRendererObj.drawStringWithShadow("Hacked Client", 0, 0, 0x00FFFF);
        mc.fontRendererObj.drawStringWithShadow("Sprint - F", 0, 9, 0xFF0000);
    }
    public static void showDesc() { //called on key press
        descShown = !descShown;
        if (descShown == false){
        //TODO: Hide old text
        mc.fontRendererObj.drawStringWithShadow("Hacked Client", 0, 0, 0x00FFFF);
        mc.fontRendererObj.drawStringWithShadow("Sprint - F - Belongs to movement group - Always sprint, if possible.", 0, 9, 0xFF0000);
        }else{
        //TODO: Hide old text
        mc.fontRendererObj.drawStringWithShadow("Hacked Client", 0, 0, 0x00FFFF);
        mc.fontRendererObj.drawStringWithShadow("Sprint - F", 0, 9, 0xFF0000);
    }
}

Кстати, я совершенно в идеале, переписывая весь текст снова и снова.

1 Ответ

0 голосов
/ 05 ноября 2018

Почему вы вообще делаете это:

if (descShown == false){
    //TODO: Hide old text
    mc.fontRendererObj.drawStringWithShadow("Hacked Client", 0, 0, 0x00FFFF);
    mc.fontRendererObj.drawStringWithShadow("Sprint - F - Belongs to movement group - Always sprint, if possible.", 0, 9, 0xFF0000);
    }else{
    //TODO: Hide old text
    mc.fontRendererObj.drawStringWithShadow("Hacked Client", 0, 0, 0x00FFFF);
    mc.fontRendererObj.drawStringWithShadow("Sprint - F", 0, 9, 0xFF0000);
}

Почему это еще утверждение здесь? Это бесполезно. Если вы не хотите текст, не иметь еще. Minecraft не отрендерит его, если ваше состояние не пройдет

...