私はスピゴット1.11.2を使用しています。 スピゴット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