プレイヤーにInt []のランダムなアイテムを受け取りたい
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
Player player = (Player) sender;
if(commandLabel.equalsIgnoreCase("surprise")){
Random random = new Random();
PlayerInventory inventory = player.getInventory();
int ItensIds[] = {274, 313, 314, 315, 316};
ItemStack item = new ItemStack(Material.AIR);
for(int Ids : ItensIds){
int randomNumber = random.nextInt(300);
do{
randomNumber = random.nextInt(300);
item.setTypeId(Ids);
inventory.addItem(item);
} while(randomNumber == Ids);
break;
}
}
私はそれがどのように機能するかを理解しようとしていますが、サーバーをクラッシュさせるか、まったく動作しなくなります。
私はこのコードのことで本当に新しいです、私が本当に間違ったことをしたかどうかを理解してください。
回答:
回答№1は2「プレイヤーにInt []のランダムなアイテムを受け取りたい」
あなたからランダムな値を取得したい場合 int
配列(これは ItensIds[]
)、これを行うことができます:
int randomNumber = ItensIds[random.nextInt(ItensIds.length)];
ループなどは必要ありません。