查看: 2248|回复: 10
打印 上一主题 下一主题

[求助] 如何实现“坐”?

[复制链接]

22

主题

317

回帖

174

积分

Lv.4 怪物猎人

UID
373726
小麦
3
金锭
608
下界之星
0

开发者认证勋章

楼主
发表于 2021-7-30 03:44:07 | 显示全部楼层 IP:山西
你的椅子是方块还是生物?如果是生物的话,参考原版骷髅马的行为,有个minecraft:rideable。如果是方块的话,你就得创建一个无敌的隐形生物和你的方块叠在一起,隐形生物和方块共存亡。如果隐形生物没了,就再创建一个,隐形生物要是检测到自己不在椅子方块里面就摧毁自己,然后检测到玩家点击椅子,就用SetRiderRideEntity让玩家坐在实体上。
还有更麻烦的方法,就是注册脚本驱动节点,给玩家添加动画控制器,然后玩家点击椅子就把玩家移动速度设为0,然后再触发玩家的坐下动画,这样玩家就被固定在椅子上并呈现坐的姿态了,离开椅子可以检测按跳跃键然后把移动速度恢复,再关闭玩家的坐下动画

22

主题

317

回帖

174

积分

Lv.4 怪物猎人

UID
373726
小麦
3
金锭
608
下界之星
0

开发者认证勋章

沙发
发表于 2021-7-30 03:50:35 | 显示全部楼层 IP:山西
如果要使用第二种方法(不需要生物),禁止玩家移动可以采用客户端SetCanMove不响应移动,循环设置向量为0等方式实现,还是不要修改玩家移动速度了,因为这个会存档,所以你还得在玩家离开时把他的移动速度恢复,不然玩家卸载掉你的mod后,如果当时坐在椅子上,那他再进游戏就动不了了,就像某些贝爷生存一样,玩家卸载了mod血量还是三颗星。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部