在bukkit的里, 除了player.teleport() 传送玩家以外,还有什么方法能够让玩家移动呢?
【注: 目的是让玩家移动<一卡一卡的就算了,要流畅~~~>,我个人认为一直tp,是不是太浪费了】
【注: 目的是让玩家移动<一卡一卡的就算了,要流畅~~~>,我个人认为一直tp,是不是太浪费了】
TrMenu 里自带的 JS 就是一个很好的示例。
player.getLocation() 之后 setVelocity()
player.getLocation() 之后 setVelocity()
如果只是普通的移动,Player#setVelocity(Vector) 会很好的工作,这会非常平滑
但是如果您想让这个玩家看起来真的在移动,您不得不去去使用一些数据包,这可能比较麻烦,但是我依然推荐直接 setVelocity
但是如果您想让这个玩家看起来真的在移动,您不得不去去使用一些数据包,这可能比较麻烦,但是我依然推荐直接 setVelocity
本帖最后由 无谓狗蛋 于 2023-1-20 00:18 编辑
让客户端平滑的移动就直接setVelocity咯
或者你可以搞一只固定移动线路的实体(譬如一只猪),这只猪按照固定的路线去移动,然后尝试让这个玩家骑上去这只猪跟随移动
我在之前偶然发现在gamemode 3观察者模式下可以直接鼠标点击实体以让客户端镜头跟随这只实体,不知能否用....
使用Player#setSpectatorTarget() 方法让玩家附身跟随实体;
让客户端平滑的移动就直接setVelocity咯
或者你可以搞一只固定移动线路的实体(譬如一只猪),这只猪按照固定的路线去移动,然后尝试让这个玩家骑上去这只猪跟随移动

使用Player#setSpectatorTarget() 方法让玩家附身跟随实体;
无谓狗蛋 发表于 2023-1-16 01:51
让客户端平滑的移动就直接setVelocity咯
或者你可以搞一只固定移动线路的实体(譬如一只猪),这只猪按照固定 ...
那可以让玩家以某种速度移动吗,
我想要实现类似载具的功能
但不让玩家“坐下” ,并且可以在被set Velocity时可以移动,速度是和正常行走一样
但不会改变Velocity 的方向
设置了Velocity以后移动系统就不怎么能正常工作了,推荐看看数据包有没有合适的实现方法。
平滑移动: setVelocity
发送一个EntityVelocityUpdateS2CPacket更新客户端玩家速度