Вращение рук
Ванильные вращения
Вы можете задавать вращение руки для предмета, который игрок держит в руке! это делается "оборачиванием" вашей модели в модель rpt:arm_transform:
{
"model": {
"type": "rpt:arm_transform",
"transform": "item",
"model": {
"type": "model",
"model": "item/diamond_pickaxe"
}
}
}В премере выше мы указали вращение руки, которе используется в ванильной игре, когда игрок держит предмет. Ниже список ванильных вращений:
empty- игрок ничего не держитitem- игрок держит предмет, не вызывающий вращений нижеblock- игрок поднимает щитbow_and_arrow- игрок натягивает титьеву лукаthrow_trident- игрок замахивается трезубцемcrossbow_charge- игрок заряжает арбалетcrossbow_hold- игрок держит заряженный арбалетspyglass- игрок смотрит в подзорную трубуtoot_horn- игрок дует в козий рогbrush- игрок машет кисточкой.spear- игрок использует копьё как кинетическое оружие (Для 1.21.11 и выше)
Помимо ванильных вращений, вы можете задавать свои собственные, либо изменять некоторые настройки ванильных:
Создание собвственного вращения
{
"model": {
"type": "rpt:arm_transform",
"transform": {
// вращение по осям
"x": 0,
"y": 0,
"z": 0,
"bob": true, // применять ли анимацию "дыхания"
"swing": true, // применять ли анимацию качания рук при ходьбе
"type": "item" // тип анимаций из ванильных
},
"model": { ... }
}
}Примечание
Eсли вы в записе выше укажете type, то вращения по осям НЕ будет применяться!
Помимо чисел, оси поддерживают выражения (подробнее об этом в Математические Выражения):
{
"model": {
"type": "rpt:arm_transform",
"transform": {
"x": "sin(time*0.75) * 45 - 90", // Игрок будет качать рукой пере лицом
"swing": false
},
"model": {
"type": "model",
"model": "item/bell"
}
}
}RPT так же предоставляет некоторые переменные, которые можно использовать:
time- игровое время в тикахhx/hy/hz- поворот головы по осямarm- рука, которая держит предмет: 1 если правая, и -1 если левая
Обратите внимание
Перменные, о которых говорится в Математические Выражения не будут работать в rpt:arm_transform!
Простой пример:

{
"model": {
"type": "rpt:arm_transform",
"transform": {
"x": "hx - 90",
"y": "hy",
"swing": false
},
"model": {
"type": "model",
"model": "item/diamond_pickaxe"
}
}
}