Эффекты в процентах

Версия Minecraft
1.7.10
202
14
36
Всем привет, наложил эффект на вещь. Хочу сделать когда эффект активен появлялся текст и рядом окончание эффекта в процентах от 0% до 100%
Допустим эффект регенерации.
Как реализовать ?
 

timaxa007

Модератор
5,831
409
672
окончание эффекта в процентах от 0% до 100%
По простому не как. Так как максимальное значение, которое можно дать эффекту, может быть разное, больше миллиона даже. Так-что в процентах может быть начинаться от 3 из 100, что не очень выглядит. Так-что по простому не как. Придётся использовать рефлексию или хуки, чтобы знать какое значение было поставлено при добавлении эффекта, где-то хранить и потом сохранять и загружать.
 
269
8
19
@timaxa007
Если я правильно понял что он хочет,то можно же и не время эффекта мерить,а после того как заюзал таймер и всё.
Всем привет, наложил эффект на вещь. -- ??? На вещь,или на что тебе надо
!Допустим эффект регенерации!.
 
202
14
36
По простому не как. Так как максимальное значение, которое можно дать эффекту, может быть разное, больше миллиона даже. Так-что в процентах может быть начинаться от 3 из 100, что не очень выглядит. Так-что по простому не как. Придётся использовать рефлексию или хуки, чтобы знать какое значение было поставлено при добавлении эффекта, где-то хранить и потом сохранять и загружать.

А если делать не в процентах а просто в цифрах ? Допустим от 0 до 100 ?
 

timaxa007

Модератор
5,831
409
672
И? И какой толк от 0 до 100? Нужно знать какое было выставлено значение для твоего эффекта.
Когда даёшь эффект, где-то сохраняешь что типа это он и рисуешь где надо.
Java:
float p = ((float)PotionEffect#getDuration() / 600F) * 100F;

    void drawScreen(...) {
        RenderFont#drawString(Float.toString(p) + "%", x, y, color);
    }
Ну типа того.
 
3,005
192
592

timaxa007

Модератор
5,831
409
672
Опять-же нужно знать какое значение было дано для отсчёта времени.
Java:
int time = 600 - PotionEffect#getDuration();
Где 600 время которое было дано для отсчёта времени.
 
Сверху