如何使玩家在持有特定物品时有特定动作

Roystain


版本信息
你使用的IDE:IntelliJ IDEA
你使用的IDE版本:2020.1
Forge版本: 28.2.0
Minecraft版本: 1.14.4
Mapping 文件版本: 20190719-1.14.3

情况简述
像做一个焊工面罩,在手持该物品时,可以有抬起手臂到90°的动作
希望有方法或前置模组可以实现

查到的资料
目前只知道星系mod扛火箭的动作达到了我的理想标准,但由于该模组停留在1.12.2的旧版本而没去翻看


FledgeXu


这个功能我也没有具体实现过,我只能根据我查到的资料做一些猜测。

首先Forge提供了RenderPlayerEvent.PreRenderPlayerEvent.Post两个事件来让你可以修改玩家的渲染,其中Pre是在原版渲染之前执行,Post是在原版之后执行。

玩家的模型是PlayerModel,这个模型的bipedLeftArmwearbipedRightArmwear,好像分别控制着玩家左右手臂的旋转角度。

你可以监听RenderPlayerEvent.Pre,判断玩家手中的物品,然后尝试修改玩家的模型手臂的旋转角度,可能就可以实现了。
相关的类:
net.minecraft.client.renderer.entity.PlayerRenderer
net.minecraft.client.renderer.entity.model.PlayerModel
相关资料:


最简单实体实现:
https://neutrino.v2mcdev.com/entity/scratchentity.html


system


该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。