我正在使用Spigot 1.11.2。Spigot PlayerInteractEntityEvent
我有这个简单的代码:
@EventHandler
public void onPlayerInteractEntity (PlayerInteractEntityEvent event) {
if (entity instanceof AbstractHorse) {
event.setCancelled(true);
AbstractHorse horse = (AbstractHorse) event.getRightClicked();
Player player = event.getPlayer();
player.sendMessage(horse.getName());
}
}
什么它应该做的是,如果我右键单击一匹马,我应该得到它的名字,但我不应该骑它,因为的。它按预期工作,但问题是,当我右键单击一匹马时,游戏将我的视角(我的玩家的偏航)变成一些不一致的数字。但我不想转身;我仍然希望我的玩家看到我正在看的地方(在这种情况下是马),然后右键单击马。
我尝试了一些方法,如救了我的俯仰和偏航然后取消该事件后,再设置:
@EventHandler
public void onPlayerInteractEntity (PlayerInteractEntityEvent event) {
Player player = event.getPlayer();
float pitch = player.getLocation().getPitch();
float yaw = player.getLocation().getYaw();
if (entity instanceof AbstractHorse) {
event.setCancelled(true);
player.getLocation().setPitch(pitch);
player.getLocation().setYaw(yaw);
AbstractHorse horse = (AbstractHorse) event.getRightClicked();
player.sendMessage(horse.getName());
}
}
,也同样试图节省玩家的方向(通过player.getLocation().getDirection()
),则取消之后再设置事件,无济于事。我在这里做错了什么?或者这是一个错误?
没有帮助OP的问题 – Kerooker