壁を作成し、パラメータLocation l
を使用する方法があります。これは、スノーボールがブロックまたは人に当たって、X
またはZ
軸に沿って壁を作成するときにトリガーされます。私の問題は、Location l
を使用した場合、Player p
を使用して、プレーヤーが向いている方向を取得し、X
とZ
軸に沿って壁をそれに応じて回転させることができないということです。 Player p
を使用した場合、私は雪だるまに当たったブロックのLocation
を見つけることができません。だから私のジレンマを解決するために、私はLocation l
を使いました。そして、Player p
が必要なときには、私はすべてのオンラインプレーヤーの位置をループし、Location l
にいたプレーヤーを見つけてPlayer p
にキャストしました。OnlinePlayerロケーションループ
マイコード:
public static void wall(Location l){
Player p = null;
for(Player players: Bukkit.getOnlinePlayers()){
if (players.getLocation().equals(l)){
p = players;
}
else{
return;
}
}
私の質問:
が、これは問題に対する有効なソリューションですか?それは有効でしたが、間違っていましたか?問題を解決する良い方法はありますか?
ありがとうございます!
私はちょうどプレイヤーを取得するために場所を使用しようとしている、私は本当にみんなの場所を必要としていない – J22929
私はリストにリストを格納し、1つの場所にあるプレーヤーまたはプレーヤーを表す。プレーヤーが新しい場所に移動するたびに、oldLocation.removePlayer(player)newLocation.addPlayer(player)のような処理を行う必要があります。その後、Location.getPlayers()を使用して、スノーボールが当たる場所のPlayerのリストを返すことができます。 –
Steve
私は彼らが移動するときは関係ありません、私はちょうど彼らが雪だるまに当たったときに場所lにいることを確認する必要があります – J22929