@events.hand_renderможно отменить6 методовКаждый кадр, когда игра рисует руку с предметом от первого лица.
Событие даёт вмешаться в анимацию руки: сдвинуть, повернуть, увеличить предмет или вовсе убрать руку с экрана.
Матрица преобразований лежит в getMatrices(). Всё, что с ней делают, влияет на положение руки в кадре, ровно как в самой игре.
event.cancel() отменяет ванильную отрисовку: клиент нарисует руку без анимации замаха. Так делают статичную руку и свои анимации.
| Метод | Возвращает | Зачем |
|---|---|---|
getArm() | Arm | Какая рука рисуется: левая или правая |
getSwingProgress() | float | Фаза замаха от 0.0 до 1.0 |
getEquipProgress() | float | Фаза доставания предмета |
getItemStack() | ItemStack | Предмет в руке. Объект Minecraft, нужен wrap |
getMatrices() | MatrixStack | Матрица преобразований. Объект Minecraft, нужен wrap |
cancel() / isCancelled() | ничего / bool | Отменить ванильную анимацию руки |
mod = Module("NoSwing", "Visuals")
mod.setDesc("Убирает анимацию замаха")
@events.hand_render
def on_hand(event):
if mod.isEnabled():
event.cancel() # рука рисуется без замахаОбщий список всех событий и правила подписки лежат на странице События.