Помогите Перемещение руки ArmorStand

OGDeveloper

Новичок
Баллы
6
Имя в Minecraft
OGDeveloper
Здравствуйте. Появилась проблема. Есть ArmorStand, ему нужно выпрямить правую руку (от тела (вытянуть)). Чуть разобравшись в теме, я нагуглил про EulerAngle, выяснил что он работает по координатам радиана. Далее столкнулся с проблемой 3 координат. Попробовал 3 координаты, выяснил что вроде как за это направление отвечает координата Y, задал ей координату 3.14 (половину круга). Но рука вообще двинулась по неправильной траектории. Если можно, объясните, или скиньте пример, как поднять эту руку.
 
upload_2019-7-9_19-35-1.png

Код:
EulerAngle eulerAngle = stand.getRightArmPose();
        eulerAngle = eulerAngle.setX(-3.14);

        stand.setRightArmPose(eulerAngle);
 
https://haselkern.com/Minecraft-ArmorStand/
Посмотреть вложение 54355
Останется перевести градусы в радианы, если EulerAngle реально принимает их.
Вместо 3.14 используй Math.PI
Спасибо. Всё получилось. Повернул координату Z на 90 градусов.upload_2019-7-9_20-58-50.png

Теперь ещё одна проблема. Как повернуть голову что бы она смотрела ровно вперед? (Я про голову в руке)
 
Возможно. Я уже сделал. Теперь как выдать предмет в левую руку? Я не нашел метода для левой руки
Это действительно невозможно.
Ты просто выкручивал руку таким образом, чтобы голова в руке располагалась ровно.
Других способов выровнять это дело нет.
Ну, ещё можешь заспаунить второй стенд и надеть ему на голову стак головы, но это такое...
Теперь как выдать предмет в левую руку? Я не нашел метода для левой руки
stand.getEquipment().getItemInMainHand(stack) - для правой
stand.getEquipment().setItemInOffHand(stack) - для левой
 
Это действительно невозможно.
Ты просто выкручивал руку таким образом, чтобы голова в руке располагалась ровно.
Других способов выровнять это дело нет.
Ну, ещё можешь заспаунить второй стенд и надеть ему на голову стак головы, но это такое...

stand.getEquipment().getItemInMainHand(stack) - для правой
stand.getEquipment().setItemInOffHand(stack) - для левой
Спасибо. А теперь вопрос, как можно сделать какой то предмет на плече игрока (что-бы оно было ровно), и двигался синхронно с игроком? Я пробовал арморстенд и просто через Runnable телепортировал к игроку. Но двигалось оно не синхронно.. В этом то и проблема. Как это можно ещё реализовать?
 
Спасибо. А теперь вопрос, как можно сделать какой то предмет на плече игрока (что-бы оно было ровно), и двигался синхронно с игроком? Я пробовал арморстенд и просто через Runnable телепортировал к игроку. Но двигалось оно не синхронно.. В этом то и проблема. Как это можно ещё реализовать?
Если только садить стенд на игрока. Иначе такой синхронизации без модов, увы, не получить. Пролаги сервера и пинг игрока всегда будет портить малину.
 
Если только садить стенд на игрока. Иначе такой синхронизации без модов, увы, не получить. Пролаги сервера и пинг игрока всегда будет портить малину.
В теории ничего не мешает отправлять передвижение стенда при отправке передвижения игрока.
Но на чистом бакките такого, конечно, не сделать.
 
В теории ничего не мешает отправлять передвижение стенда при отправке передвижения игрока.
Но на чистом бакките такого, конечно, не сделать.
То есть нужно слушать входящие на сервер пакеты от клиента? Задержка уменьшиться?
 
В теории ничего не мешает отправлять передвижение стенда при отправке передвижения игрока.
Но на чистом бакките такого, конечно, не сделать.
На практике увы не работает. Будет отставать на 1 тик.
 
Конечно, сомневаюсь что это будет работать, но для попугаев в 1.12 добавили методы setShoulderEntityRight и setShoulderEntityLeft. Их сбрасывает при прыжке, но думаю это можно отменить.
 
Речь шла про предмет в руке, а не про руку.
Предмет в руке никак не повернуть.
Крутишь руку, предмет в руке находится не в одной позе, а прикрепленной к точке на руке. повернешь руку - повернешь предмет в ней.
 
Крутишь руку, предмет в руке находится не в одной позе, а прикрепленной к точке на руке. повернешь руку - повернешь предмет в ней.
Сам же и опроверг свои слова, отличная работа. Двигать предмет отдельно от руки ты не сможешь, и, например, если ты хочешь, чтобы руки стояли в определенные стороны, а предметы устремлены в другую - ты просто сфейлишься.
 
Назад
Верх