Рендеринг пустой руки \ кулдавн

Версия Minecraft
1.12.2
API
Forge
709
9
106
Как при взятом в руках у игрока моего предмета рендерить вместо него от 3-йего лица пустой предмет тоесть воздух? Вопрос как
Чтобы он не отображался в руках когда его держиш

А ещё, как сделать кулдавн предмету? я так понимаю надо сделать какой-то сверх большой метод?
 
Последнее редактирование:
Решение
Сделай предмету кастомную модель и при перспективе от третьего лица добавь смещение на 10000000 по любой оси(лучше по Y)
За трансформации матрицы модели отвечает метод handlePerspective, его аргумент определяет перспективу
6,066
222
1,170
Всегда не отображался? Текстуру полностью прозрачной сделай
 
709
9
106
В руках чтобы отображался на клиенте держа в руке а для других нет. Хоть нормальную текстуру я нарисовать и не могу, но прозрачной её делать - это уж совсем.

~~~
А ещё если делать прозрачную текстуру то всё равно будет видно что игрок что-то держит в руке (рука немного вытянута на 20 градусов вперёд и как будто держит предмет) хотя это не так важно для меня, уже придираюсь.
 
709
9
106
Искусственное поднятие вопроса.
 
6,066
222
1,170
Сделай предмету кастомную модель и при перспективе от третьего лица добавь смещение на 10000000 по любой оси(лучше по Y)
За трансформации матрицы модели отвечает метод handlePerspective, его аргумент определяет перспективу
 
709
9
106
А почему вот так не работает:
Java:
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onRender(RenderPlayerEvent.Specials.Pre e)
{
    if(e.getEntityPlayer().getHeldItemMainhand().getItem() == ITEM)
    {
        e.setRenderItem(false);
    }
}
Тут дело в том, что он даже тестовое сообщение не выводит в чат. Эвент почему-то не работает. Хотя в других темах этот код был отмечен решением.

кастомную модель и при перспективе от третьего лица добавь смещение на 10000000 по любой оси(лучше по Y)
Спасибо. Если ни у кого больше идей не будет, отмечу лучшим. А что насчёт кулдауна? Как его можно сделать
 
Последнее редактирование:
6,066
222
1,170
709
9
106
Посмотри в эндер-перле
Ага, ванильный кулдавн тут не прокатит. Он связан с onRightClick своего предмета и в hitEntity либо onLeftClickEntity этот ванильный кулдавн уже не работает.
Java:
player.getCooldownTracker().setCooldown(item, time);
 
Последнее редактирование:
6,066
222
1,170
Почему не прокатит? Там же можно получить значение кулдауна, если у тя свой метод, а не пкм/лкм
 
709
9
106
RenderPlayerEvent.Specials deprecated.
Значит хук... эх
Там же можно получить значение кулдауна, если у тя свой метод, а не пкм/лкм
А, ну да. Я так пробовал уже.

Вот так?
Java:
if(player.getCooldown().getTicks() != 0)
{
    // или как
}
это примерно.
Я делал вот так и не работало:
Java:
if(playerIn.getCooldownTracker().getCooldown() != null)
}
 
Последнее редактирование:
709
9
106
Просто не рисуй да и всё
Не совсем понятно как.

Про кулдавн уже решил:
Java:
if(e.getEntityPlayer().getCooldownTracker().getCooldown(e.getItemStack().getItem(), Minecraft.getMinecraft().getRenderPartialTicks()) != 0.0F)
{
    //тутcode
}
поскольку getCooldown возвращает float равный 0 если кулдавн равн нулю. (т.е не установлен можно полагать)
Основной вопрос решен. Лучший ответ достался hohserg.
 
Сверху