2017-05-10 22 views
0

現在、私のコードは特定のセクションで自分の設定からすべての値を取得してから、ランダムにリストから選択するものがあります。私はgetRandomStringFromList(getLocationList())によってランダムな結果を得ます。ですから、私はこれをこのように使用します。しかし、これにはいくつかの問題があります。同じ結果を使用するのではなく、3つのランダムなランダムな結果が得られます。3番目の結果ですべてを使用する必要があります。ランダムな結果から同じ値を使用する

+1

あなたは、1行のコード(デバッグするための混乱)でこれをやってはいけません。これにより、ランダム値をtmp変数に格納して再利用することができます。 – AxelH

答えて

1

ランダムな文字列をローカル変数に格納し、p.teleportのそれを使用します。コードは次のようになります。あなたはあなたができる

何同じ行に3異なるインスタンス上の「位置を取得する」ランダム化されているので、

String randomString = plugin.getRandomStringFromList(plugin.getLocationList()); 

p.teleport(new Location(Bukkit.getWorld("world"), 
    plugin.getConfig().getInt("locations." + randomString + ".x"), 
    plugin.getConfig().getInt("locations." + randomString + ".y"), 
    plugin.getConfig().getInt("locations." + randomString + ".z"))); 
+1

あなたは行を再フォーマットするので、まだユニークな行で起こっていると思っていますが、少なくとも読める – AxelH

0

これは、あなたが最初のインスタンスの結果を救うことができるということですそれを再利用してください

var location = plugin.getRandomStringFromList(plugin.getLocationList()); 

p.teleport(new Location(Bukkit.getWorld("world"), 

plugin.getConfig().getInt("locations." + location + ".x"), 
plugin.getConfig().getInt("locations." + location + ".y"), 
plugin.getConfig().getInt("locations." + location + ".z"))); 
関連する問題